This way all shutdown-related cleanup is kept in a single place. While at it, set _qmp to None after closing the socket, to avoid trying to reuse it by mistake later.
Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> --- scripts/qemu.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/qemu.py b/scripts/qemu.py index 4a71542c6b..1241e7f10b 100644 --- a/scripts/qemu.py +++ b/scripts/qemu.py @@ -199,6 +199,10 @@ class QEMUMachine(object): self._qmp.accept() def _post_shutdown(self): + if self._qmp is not None: + self._qmp.close() + self._qmp = None + self._load_io_log() if self._qemu_log_file is not None: self._qemu_log_file.close() @@ -250,7 +254,6 @@ class QEMUMachine(object): def wait(self): '''Wait for the VM to power off''' self._popen.wait() - self._qmp.close() self._post_shutdown() def shutdown(self): -- 2.14.3