qemurunner.py: add try/except for pid handling race

In some instances, attempts to remove the qemu pidfile within the
stop() method fail despite the os.path.exists() call immediately
before implying that the file is present. Add a try/except block
to log a warning if this occurs, rather than failing outright,
since the process simply appears to be exiting at an inconvenient
time.

[YOCTO #13675]

(From OE-Core rev: 0e94cfb4aa718b4842f608879b77d5671b5bf338)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit eadb899e23b18eb9eaff145c3bf5b20fb417c3e8)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Trevor Gamblin
2020-02-07 08:46:52 -05:00
committed by Richard Purdie
parent ceda1b23f2
commit b61d8bc577

View File

@@ -396,7 +396,10 @@ class QemuRunner:
self.qemupid = None
self.ip = None
if os.path.exists(self.qemu_pidfile):
os.remove(self.qemu_pidfile)
try:
os.remove(self.qemu_pidfile)
except FileNotFoundError as e:
self.logger.warning('qemu pidfile is no longer present')
if self.monitorpipe:
self.monitorpipe.close()