diff --git a/gns3server/modules/base_manager.py b/gns3server/modules/base_manager.py index aef1579a..8788e5f1 100644 --- a/gns3server/modules/base_manager.py +++ b/gns3server/modules/base_manager.py @@ -99,9 +99,10 @@ class BaseManager: for uuid in self._vms.keys(): try: - self.delete_vm(uuid) + yield from self.delete_vm(uuid) except Exception as e: log.warn("Could not delete VM {}: {}".format(uuid, e)) + continue if hasattr(BaseManager, "_instance"): BaseManager._instance = None diff --git a/gns3server/server.py b/gns3server/server.py index 1fdeb876..f0c885a9 100644 --- a/gns3server/server.py +++ b/gns3server/server.py @@ -80,7 +80,7 @@ class Server: for module in MODULES: log.debug("Unloading module {}".format(module.__name__)) m = module.instance() - m.unload() + self._loop.run_until_complete(m.unload()) self._loop.stop() def _signal_handling(self):