[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH RFC 03/32] python//machine.py: remove bare except
From: |
John Snow |
Subject: |
[PATCH RFC 03/32] python//machine.py: remove bare except |
Date: |
Thu, 14 May 2020 01:53:34 -0400 |
Catch only the timeout error; if there are other problems, allow the
stack trace to be visible.
Signed-off-by: John Snow <address@hidden>
---
python/qemu/lib/machine.py | 33 +++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/python/qemu/lib/machine.py b/python/qemu/lib/machine.py
index b9a98e2c86..e3ea523571 100644
--- a/python/qemu/lib/machine.py
+++ b/python/qemu/lib/machine.py
@@ -342,7 +342,26 @@ def wait(self):
self._load_io_log()
self._post_shutdown()
- def shutdown(self, has_quit=False):
+ def _issue_shutdown(self, has_quit: bool = False) -> None:
+ """
+ Shutdown the VM.
+ """
+ if not self.is_running():
+ return
+
+ if self._qmp is not None:
+ if not has_quit:
+ self._qmp.cmd('quit')
+ self._qmp.close()
+
+ try:
+ self._popen.wait(timeout=3)
+ except subprocess.TimeoutExpired:
+ self._popen.kill()
+
+ self._popen.wait()
+
+ def shutdown(self, has_quit: bool = False) -> None:
"""
Terminate the VM and clean up
"""
@@ -353,17 +372,7 @@ def shutdown(self, has_quit=False):
self._console_socket.close()
self._console_socket = None
- if self.is_running():
- if self._qmp:
- try:
- if not has_quit:
- self._qmp.cmd('quit')
- self._qmp.close()
- self._popen.wait(timeout=3)
- except:
- self._popen.kill()
- self._popen.wait()
-
+ self._issue_shutdown(has_quit)
self._load_io_log()
self._post_shutdown()
--
2.21.1
- Re: [PATCH RFC 01/32] python/qemu: create qemu.lib module, (continued)
- Re: [PATCH RFC 01/32] python/qemu: create qemu.lib module, Philippe Mathieu-Daudé, 2020/05/26
- Re: [PATCH RFC 01/32] python/qemu: create qemu.lib module, Daniel P . Berrangé, 2020/05/26
- Re: [PATCH RFC 01/32] python/qemu: create qemu.lib module, Philippe Mathieu-Daudé, 2020/05/26
- Re: [PATCH RFC 01/32] python/qemu: create qemu.lib module, Daniel P . Berrangé, 2020/05/26
- Re: [PATCH RFC 01/32] python/qemu: create qemu.lib module, John Snow, 2020/05/27
- Re: [PATCH RFC 01/32] python/qemu: create qemu.lib module, Daniel P . Berrangé, 2020/05/27
[PATCH RFC 02/32] scripts/qmp: Fix shebang and imports, John Snow, 2020/05/14
[PATCH RFC 04/32] python/qemu/lib: delint, add pylintrc, John Snow, 2020/05/14
[PATCH RFC 03/32] python//machine.py: remove bare except,
John Snow <=
Re: [PATCH RFC 03/32] python//machine.py: remove bare except, Philippe Mathieu-Daudé, 2020/05/26
[PATCH RFC 05/32] python/qemu/lib: delint; add flake8 config, John Snow, 2020/05/14
[PATCH RFC 06/32] python/qemu: formalize as package, John Snow, 2020/05/14
[PATCH RFC 07/32] python/qemu: add README.rst, John Snow, 2020/05/14