summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2018-07-25 16:34:33 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-07-26 13:16:31 +0100
commit78033af85698b4e112ae78e3140b241b1b3c06a3 (patch)
tree0c47068ea207aa57ffa9c29963cdb8eb205655e1
parenta74c77d6168101e88c3a3bce7130f4f52cfab95d (diff)
downloadopenembedded-core-contrib-78033af85698b4e112ae78e3140b241b1b3c06a3.tar.gz
qemurunner.py: fix is_alive() to avoid confusing with recycled pid
[YOCTO #12493] Fixed: - qemu started with pid 10000 - qemu exited unexpectedly - The pid 10000 is re-used by another different process. The is_alive() returned True in such a case because both qemu_pidfile and /proc/10000 exist, but it's another process, this patch fixed the problem. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/utils/qemurunner.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index c8bd6516cf..c3c643d710 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -400,7 +400,7 @@ class QemuRunner:
return False
def is_alive(self):
- if not self.runqemu:
+ if not self.runqemu or self.runqemu.poll() is not None:
return False
if os.path.isfile(self.qemu_pidfile):
f = open(self.qemu_pidfile, 'r')