diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2017-06-06 10:00:34 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2017-06-06 10:00:34 +0100 |
| commit | a65afaae0fd6754a80fe8c9aad6a066fe84b537d (patch) | |
| tree | 5e43858ce14c131d6dc963489be50677e4a960b4 /scripts/qemu.py | |
| parent | a0d4aac7467dd02e5657b79e867f067330266a24 (diff) | |
| parent | 23ea4f30320bbd36a5d202ee469374ec3c747286 (diff) | |
| download | focaccia-qemu-a65afaae0fd6754a80fe8c9aad6a066fe84b537d.tar.gz focaccia-qemu-a65afaae0fd6754a80fe8c9aad6a066fe84b537d.zip | |
Merge remote-tracking branch 'remotes/ehabkost/tags/x86-and-machine-pull-request' into staging
x86 and machine queue, 2017-06-05 # gpg: Signature made Mon 05 Jun 2017 19:58:01 BST # gpg: using RSA key 0x2807936F984DC5A6 # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6 * remotes/ehabkost/tags/x86-and-machine-pull-request: scripts: Test script to look for -device crashes qemu.py: Add QEMUMachine.exitcode() method qemu.py: Don't set _popen=None on error/shutdown spapr: cleanup spapr_fixup_cpu_numa_dt() usage numa: move numa_node from CPUState into target specific classes numa: make hmp 'info numa' fetch numa nodes from qmp_query_cpus() result numa: make sure that all cpus have has_node_id set if numa is enabled numa: move default mapping init to machine numa: consolidate cpu_preplug fixups/checks for pc/arm/spapr pc: Use "min-[x]level" on compat_props Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'scripts/qemu.py')
| -rw-r--r-- | scripts/qemu.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/scripts/qemu.py b/scripts/qemu.py index 6d1b6230b7..880e3e8219 100644 --- a/scripts/qemu.py +++ b/scripts/qemu.py @@ -85,8 +85,16 @@ class QEMUMachine(object): return raise + def is_running(self): + return self._popen and (self._popen.returncode is None) + + def exitcode(self): + if self._popen is None: + return None + return self._popen.returncode + def get_pid(self): - if not self._popen: + if not self.is_running(): return None return self._popen.pid @@ -128,16 +136,16 @@ class QEMUMachine(object): stderr=subprocess.STDOUT, shell=False) self._post_launch() except: - if self._popen: + if self.is_running(): self._popen.kill() + self._popen.wait() self._load_io_log() self._post_shutdown() - self._popen = None raise def shutdown(self): '''Terminate the VM and clean up''' - if not self._popen is None: + if self.is_running(): try: self._qmp.cmd('quit') self._qmp.close() @@ -149,7 +157,6 @@ class QEMUMachine(object): sys.stderr.write('qemu received signal %i: %s\n' % (-exitcode, ' '.join(self._args))) self._load_io_log() self._post_shutdown() - self._popen = None underscore_to_dash = string.maketrans('_', '-') def qmp(self, cmd, conv_keys=True, **args): |