Fix when qemu exit by itself clean other processes

Fix https://github.com/GNS3/gns3-gui/issues/1898
This commit is contained in:
Julien Duponchelle committed 2017-03-03 18:40:26 +01:00
1 parent e828c9068a
commit 5e7f97b175
3 files changed
+6 -7

No files matched your search

+1 -1
View File
@@ -533,7 +533,7 @@ class BaseNode:
server_config = self._manager.config.get_section_config("Server")
server_host = server_config.get("host")
if not self._ubridge_hypervisor:
if not self.ubridge:
self._ubridge_hypervisor = Hypervisor(self._project, self.ubridge_path, self.working_dir, server_host)
log.info("Starting new uBridge hypervisor {}:{}".format(self._ubridge_hypervisor.host, self._ubridge_hypervisor.port))
yield from self._ubridge_hypervisor.start()
+2 -3
View File
@@ -934,6 +934,7 @@ class QemuVM(BaseNode):
except OSError as e:
raise QemuError("Could not start QEMU console {}\n".format(e))
@asyncio.coroutine
def _termination_callback(self, returncode):
"""
Called when the process has stopped.
@@ -943,9 +944,7 @@ class QemuVM(BaseNode):
if self.started:
log.info("QEMU process has stopped, return code: %d", returncode)
self.status = "stopped"
self._hw_virtualization = False
self._process = None
yield from self.stop()
# A return code of 1 seem fine on Windows
if returncode != 0 and (returncode != 1 or not sys.platform.startswith("win")):
self.project.emit("log.error", {"message": "QEMU process has stopped, return code: {}\n{}".format(returncode, self.read_stdout())})