From 4f2764c0b4c6d2b29c0e8bf508c97f9b3ad7bbec Mon Sep 17 00:00:00 2001 From: grossmj Date: Fri, 23 Jan 2015 08:44:00 -0700 Subject: [PATCH] Fixes module unload. --- gns3server/modules/base_manager.py | 3 ++- gns3server/server.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) 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):