diff --git a/gns3server/web/web_server.py b/gns3server/web/web_server.py index 36a9850a..4620bff2 100644 --- a/gns3server/web/web_server.py +++ b/gns3server/web/web_server.py @@ -60,6 +60,7 @@ class WebServer: self._start_time = time.time() self._port_manager = PortManager(host) self._running = False + self._closing = False @staticmethod def instance(host=None, port=None): @@ -92,6 +93,12 @@ class WebServer: Cleanly shutdown the server. """ + if not self._closing: + self._closing = True + else: + log.warning("Close is already in progress") + return + if self._handler: yield from self._handler.finish_connections() self._handler = None