summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Snow2020-07-10 07:06:43 +0200
committerPhilippe Mathieu-Daudé2020-07-14 22:22:22 +0200
commitc9b3045bc2f52aca8825b6a04e9367b87d64d1cf (patch)
tree71229f0bf335494fe8f538e78794f4bc04d1c166
parentpython/machine.py: Prohibit multiple shutdown() calls (diff)
downloadqemu-c9b3045bc2f52aca8825b6a04e9367b87d64d1cf.tar.gz
qemu-c9b3045bc2f52aca8825b6a04e9367b87d64d1cf.tar.xz
qemu-c9b3045bc2f52aca8825b6a04e9367b87d64d1cf.zip
python/machine.py: Add a configurable timeout to shutdown()
Three seconds is hardcoded. Use it as a default parameter instead, and use that value for both waits that may occur in the function. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Cleber Rosa <crosa@redhat.com> Message-Id: <20200710050649.32434-7-jsnow@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-rw-r--r--python/qemu/machine.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/python/qemu/machine.py b/python/qemu/machine.py
index c28957ee82..e825f0bdc6 100644
--- a/python/qemu/machine.py
+++ b/python/qemu/machine.py
@@ -393,7 +393,9 @@ class QEMUMachine:
self._popen.wait()
self._post_shutdown()
- def shutdown(self, has_quit=False, hard=False):
+ def shutdown(self, has_quit: bool = False,
+ hard: bool = False,
+ timeout: Optional[int] = 3) -> None:
"""
Terminate the VM and clean up
"""
@@ -409,10 +411,10 @@ class QEMUMachine:
try:
if not has_quit:
self._qmp.cmd('quit')
- self._popen.wait(timeout=3)
+ self._popen.wait(timeout=timeout)
except:
self._popen.kill()
- self._popen.wait()
+ self._popen.wait(timeout=timeout)
self._post_shutdown()