diff --git a/gns3server/modules/base_manager.py b/gns3server/modules/base_manager.py index 37478b434..9d2e9a4b6 100644 --- a/gns3server/modules/base_manager.py +++ b/gns3server/modules/base_manager.py @@ -115,7 +115,7 @@ class BaseManager: for future in done: try: future.result() - except Exception as e: + except (Exception, GeneratorExit) as e: log.error("Could not close VM {}".format(e), exc_info=1) continue diff --git a/gns3server/modules/dynamips/__init__.py b/gns3server/modules/dynamips/__init__.py index e4173701a..d7470c591 100644 --- a/gns3server/modules/dynamips/__init__.py +++ b/gns3server/modules/dynamips/__init__.py @@ -130,7 +130,7 @@ class Dynamips(BaseManager): for future in done: try: future.result() - except Exception as e: + except (Exception, GeneratorExit) as e: log.error("Could not stop device hypervisor {}".format(e), exc_info=1) continue @@ -154,7 +154,7 @@ class Dynamips(BaseManager): for future in done: try: future.result() - except Exception as e: + except (Exception, GeneratorExit) as e: log.error("Could not delete device {}".format(e), exc_info=1) @asyncio.coroutine diff --git a/gns3server/modules/project.py b/gns3server/modules/project.py index 5ed73dd03..a689b6583 100644 --- a/gns3server/modules/project.py +++ b/gns3server/modules/project.py @@ -367,7 +367,7 @@ class Project: for future in done: try: future.result() - except Exception as e: + except (Exception, GeneratorExit) as e: log.error("Could not close VM or device {}".format(e), exc_info=1) if cleanup and os.path.exists(self.path):