Message ID | 20200710050649.32434-8-jsnow@redhat.com |
---|---|
State | New |
Headers | show |
Series | python/machine.py: refactor shutdown | expand |
On 7/10/20 7:06 AM, John Snow wrote: > 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(-) > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
On Fri, Jul 10, 2020 at 01:06:44AM -0400, John Snow wrote: > 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(-) > Reviewed-by: Cleber Rosa <crosa@redhat.com> Tested-by: Cleber Rosa <crosa@redhat.com>
diff --git a/python/qemu/machine.py b/python/qemu/machine.py index 120e0df3ee..aaa173f046 100644 --- a/python/qemu/machine.py +++ b/python/qemu/machine.py @@ -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(-)