diff --git a/gns3server/compute/base_node.py b/gns3server/compute/base_node.py index 0141ec04..d7652c47 100644 --- a/gns3server/compute/base_node.py +++ b/gns3server/compute/base_node.py @@ -384,8 +384,9 @@ class BaseNode: Stops the telnet proxy. """ - await self._wrapper_telnet_server.shutdown() - #self._wrapper_telnet_server = None + if self._wrapper_telnet_server: + await self._wrapper_telnet_server.shutdown() + #self._wrapper_telnet_server = None async def reset_wrap_console(self): """ diff --git a/gns3server/utils/asyncio/sftelnetproxymuxer.py b/gns3server/utils/asyncio/sftelnetproxymuxer.py index 5ef1e13d..71c13402 100644 --- a/gns3server/utils/asyncio/sftelnetproxymuxer.py +++ b/gns3server/utils/asyncio/sftelnetproxymuxer.py @@ -199,7 +199,6 @@ class SFTelnetProxyMuxer: async def shutdown(self): log.debug(f"Set shutdown") self.isshutdown = True - if self.server: try: log.debug(f"Shuting down tcp listen port {self.remote_port}") @@ -207,7 +206,7 @@ class SFTelnetProxyMuxer: await self.server.wait_closed() except Exception as e: log.debug(f"Failed to shutdown listen port: {self.remote_port} {e}") - + for client in self.clients: try: try: @@ -219,13 +218,13 @@ class SFTelnetProxyMuxer: await client.wait_closed() except Exception as e: log.debug(f"Closing client connect {client_info} failed {e}") - if self.remote_writer: try: self.remote_writer.close() #await self.remote_writer.wait_closed() except Exception as e: log.debug(f"Failed to shutdown listen port: {self.remote_info} {e}") + log.debug("No remaining work to do for shutdown.") if __name__ == "__main__":