summary refs log tree commit diff stats
path: root/python/qemu/machine.py
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2020-07-10 01:06:39 -0400
committerPhilippe Mathieu-Daudé <philmd@redhat.com>2020-07-14 22:22:22 +0200
commit671940e633b83ac489e0b4bb407749723ff8a879 (patch)
treebcfb0b9f9aef2c33d2eec96fd4cefe7bdec03ce6 /python/qemu/machine.py
parent14661d93d787846833b0e62d5995195c8851f741 (diff)
downloadfocaccia-qemu-671940e633b83ac489e0b4bb407749723ff8a879.tar.gz
focaccia-qemu-671940e633b83ac489e0b4bb407749723ff8a879.zip
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>
Diffstat (limited to 'python/qemu/machine.py')
-rw-r--r--python/qemu/machine.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/python/qemu/machine.py b/python/qemu/machine.py
index ca1f2114e6..d3faa9a84c 100644
--- a/python/qemu/machine.py
+++ b/python/qemu/machine.py
@@ -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()