@@ -354,16 +354,9 @@ def _launch(self):
close_fds=False)
self._post_launch()
- def wait(self):
+ def _early_cleanup(self) -> None:
"""
- Wait for the VM to power off
- """
- self._popen.wait()
- self._post_shutdown()
-
- def shutdown(self, has_quit=False, hard=False):
- """
- Terminate the VM and clean up
+ Perform any cleanup that needs to happen before the VM exits.
"""
# If we keep the console socket open, we may deadlock waiting
# for QEMU to exit, while QEMU is waiting for the socket to
@@ -372,6 +365,19 @@ def shutdown(self, has_quit=False, hard=False):
self._console_socket.close()
self._console_socket = None
+ def wait(self):
+ """
+ Wait for the VM to power off
+ """
+ self._popen.wait()
+ self._post_shutdown()
+
+ def shutdown(self, has_quit=False, hard=False):
+ """
+ Terminate the VM and clean up
+ """
+ self._early_cleanup()
+
if self.is_running():
if hard:
self._popen.kill()
Some parts of cleanup need to occur prior to shutdown, otherwise shutdown might break. Move this into a suitably named method/callback. Signed-off-by: John Snow <jsnow@redhat.com> --- python/qemu/machine.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-)