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


Reply via email to