Catch exception when a process cannot be killed. Fixes #296.

This commit is contained in:
grossmj
2015-09-03 16:18:27 -06:00
parent eb5f9c48f2
commit fda33c56de
3 changed files with 14 additions and 5 deletions

View File

@ -140,7 +140,12 @@ class Hypervisor(DynamipsHypervisor):
except asyncio.TimeoutError:
if self._process.returncode is None:
log.warn("Dynamips process {} is still running... killing it".format(self._process.pid))
self._process.kill()
try:
self._process.kill()
except OSError as e:
log.error("Cannot stop the Dynamips process: {}".format(e))
if self._process.returncode is None:
log.warn('Dynamips hypervisor with PID={} is still running'.format(self._process.pid))
if self._stdout_file and os.access(self._stdout_file, os.W_OK):
try: