[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 08/19] python/machine.py: Make wait() call shutdown()
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 08/19] python/machine.py: Make wait() call shutdown() |
Date: |
Wed, 15 Jul 2020 00:21:21 +0200 |
From: John Snow <jsnow@redhat.com>
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>
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-8-jsnow@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
python/qemu/machine.py | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/python/qemu/machine.py b/python/qemu/machine.py
index e825f0bdc6..3f0b873f58 100644
--- a/python/qemu/machine.py
+++ b/python/qemu/machine.py
@@ -385,14 +385,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:
@@ -421,6 +413,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.
--
2.21.3
- [PULL 00/19] Python patches for 5.1, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 01/19] scripts/performance: Add dissect.py script, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 02/19] python/machine.py: consolidate _post_shutdown(), Philippe Mathieu-Daudé, 2020/07/14
- [PULL 03/19] python/machine.py: Close QMP socket in cleanup, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 04/19] python/machine.py: Add _early_cleanup hook, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 05/19] python/machine.py: Perform early cleanup for wait() calls, too, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 06/19] python/machine.py: Prohibit multiple shutdown() calls, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 07/19] python/machine.py: Add a configurable timeout to shutdown(), Philippe Mathieu-Daudé, 2020/07/14
- [PULL 08/19] python/machine.py: Make wait() call shutdown(),
Philippe Mathieu-Daudé <=
- [PULL 09/19] tests/acceptance: wait() instead of shutdown() where appropriate, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 11/19] python/machine.py: split shutdown into hard and soft flavors, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 10/19] tests/acceptance: Don't test reboot on cubieboard, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 12/19] python/machine.py: re-add sigkill warning suppression, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 13/19] python/machine.py: change default wait timeout to 3 seconds, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 14/19] python/qmp.py: Define common types, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 15/19] iotests.py: use qemu.qmp type aliases, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 16/19] python/qmp.py: re-absorb MonitorResponseError, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 17/19] python/qmp.py: Do not return None from cmd_obj, Philippe Mathieu-Daudé, 2020/07/14
- [PULL 18/19] python/qmp.py: add casts to JSON deserialization, Philippe Mathieu-Daudé, 2020/07/14