@@ -374,14 +374,6 @@ def _early_cleanup(self) -> None:
self._console_socket.close()
self._console_socket = None
- def wait(self):
- """
- Wait for the VM to power off
- """
- self._early_cleanup()
- self._popen.wait()
- self._post_shutdown()
-
def shutdown(self, has_quit: bool = False,
hard: bool = False,
timeout: Optional[int] = 3) -> None:
@@ -410,6 +402,15 @@ def shutdown(self, has_quit: bool = False,
def kill(self):
self.shutdown(hard=True)
+ def wait(self, timeout: Optional[int] = None) -> None:
+ """
+ Wait for the VM to power off and perform post-shutdown cleanup.
+
+ :param timeout: Optional timeout in seconds.
+ Default None, an infinite wait.
+ """
+ self.shutdown(has_quit=True, timeout=timeout)
+
def set_qmp_monitor(self, enabled=True):
"""
Set the QMP monitor.
At this point, shutdown(has_quit=True) and wait() do essentially the same thing; they perform cleanup without actually instructing QEMU to quit. Define one in terms of the other. Signed-off-by: John Snow <jsnow@redhat.com> --- python/qemu/machine.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-)