python/machine.py: Close QMP socket in cleanup

It's not important to do this before waiting for the process to exit, so
it can be done during generic post-shutdown cleanup.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Tested-by: Cleber Rosa <crosa@redhat.com>
Message-Id: <20200710050649.32434-3-jsnow@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
John Snow 2020-07-10 01:06:39 -04:00 committed by Philippe Mathieu-Daudé
parent 14661d93d7
commit 671940e633
1 changed files with 4 additions and 3 deletions

View File

@ -294,6 +294,10 @@ class QEMUMachine:
self._qmp.accept()
def _post_shutdown(self):
if self._qmp:
self._qmp.close()
self._qmp = None
self._load_io_log()
if self._qemu_log_file is not None:
@ -366,8 +370,6 @@ class QEMUMachine:
Wait for the VM to power off
"""
self._popen.wait()
if self._qmp:
self._qmp.close()
self._post_shutdown()
def shutdown(self, has_quit=False, hard=False):
@ -388,7 +390,6 @@ class QEMUMachine:
try:
if not has_quit:
self._qmp.cmd('quit')
self._qmp.close()
self._popen.wait(timeout=3)
except:
self._popen.kill()