On Tue, Nov 14, 2017 at 11:22:43AM +0100, Amador Pahim wrote: > The 'returncode' Popen attribute is not guaranteed to be updated. It > actually depends on a call to either poll(), wait() or communicate(). > > On the other hand, poll() will: "Check if child process has terminated. > Set and return returncode attribute." > > Let's use the poll() to check whether the process is running and to get > the updated process exit code, when the process is finished. > > Reviewed-by: Fam Zheng <f...@redhat.com> > Signed-off-by: Amador Pahim <apa...@redhat.com> > --- > scripts/qemu.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/scripts/qemu.py b/scripts/qemu.py > index 7bd10b1a1d..d3824a7a0b 100644 > --- a/scripts/qemu.py > +++ b/scripts/qemu.py > @@ -149,12 +149,12 @@ class QEMUMachine(object): > raise > > def is_running(self): > - return self._popen is not None and self._popen.returncode is None > + return self._popen is not None and self._popen.poll() is None
This should be safe now, after patch 4/8. Reviewed-by: Eduardo Habkost <ehabk...@redhat.com> -- Eduardo