Fix a crash with Python 3.4 when you stop IOU

http://bugs.python.org/issue23140
This commit is contained in:
Julien Duponchelle committed 2015-02-26 11:29:57 +01:00
1 parent aa40e6097e
commit 5a58f6efc8
3 files changed
+48 -8

No files matched your search

+8 -7
View File
@@ -483,18 +483,19 @@ class IOUVM(BaseVM):
self._ioucon_thread = None
self._terminate_process_iou()
try:
yield from asyncio.wait_for(self._iou_process.wait(), timeout=3)
except asyncio.TimeoutError:
self._iou_process.kill()
if self._iou_process.returncode is None:
log.warn("IOU process {} is still running".format(self._iou_process.pid))
if self._iou_process.returncode is None:
try:
yield from gns3server.utils.asyncio.wait_for_process_termination(self._iou_process, timeout=3)
except asyncio.TimeoutError:
self._iou_process.kill()
if self._iou_process.returncode is None:
log.warn("IOU process {} is still running".format(self._iou_process.pid))
self._iou_process = None
if self._iouyap_process is not None:
self._terminate_process_iouyap()
try:
yield from asyncio.wait_for(self._iouyap_process.wait(), timeout=3)
yield from gns3server.utils.asyncio.wait_for_process_termination(self._iouyap_process, timeout=3)
except asyncio.TimeoutError:
self._iouyap_process.kill()
if self._iouyap_process.returncode is None: