From: John Snow Date: Fri, 10 Jul 2020 05:06:43 +0000 (-0400) Subject: python/machine.py: Add a configurable timeout to shutdown() X-Git-Tag: v5.1.0-rc0~3^2~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c9b3045bc2f52aca8825b6a04e9367b87d64d1cf;p=thirdparty%2Fqemu.git 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 Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Cleber Rosa Message-Id: <20200710050649.32434-7-jsnow@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- diff --git a/python/qemu/machine.py b/python/qemu/machine.py index c28957ee82f..e825f0bdc60 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()