On Wed, 07/19 18:31, Amador Pahim wrote: > Current implementation is broken. It does not really test if the child > process is running. > > The Popen.returncode will only be set after by a poll(), wait() or > communicate(). If the Popen fails to launch a VM, the Popen.returncode > will not turn to None by itself. > > Instead of using Popen.returncode, let's use Popen.poll(), which > actually checks if child process has terminated. > > Signed-off-by: Amador Pahim <apa...@redhat.com> > --- > scripts/qemu.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/qemu.py b/scripts/qemu.py > index 880e3e8219..f0fade32bd 100644 > --- a/scripts/qemu.py > +++ b/scripts/qemu.py > @@ -86,7 +86,7 @@ class QEMUMachine(object): > raise > > def is_running(self): > - return self._popen and (self._popen.returncode is None) > + return self._popen and (self._popen.poll() is None) > > def exitcode(self): > if self._popen is None: > -- > 2.13.3 > >
Reviewed-by: Fam Zheng <f...@redhat.com>