mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 21:49:33 +02:00
qemurunner: Handle qemu start failure correctly
If qemu didn't start correctly, we may not have registered the child signal. This results in a nasty traceback which confuses the underlying issue. Cleanup this code and make the handler cleanup conditional. (From OE-Core rev: 0ead936925c61aaaa7a819f6c5b999ba3a4daeda) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -258,8 +258,9 @@ class QemuRunner:
|
|||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
self.stop_thread()
|
self.stop_thread()
|
||||||
if self.runqemu:
|
if hasattr(self, "origchldhandler"):
|
||||||
signal.signal(signal.SIGCHLD, self.origchldhandler)
|
signal.signal(signal.SIGCHLD, self.origchldhandler)
|
||||||
|
if self.runqemu:
|
||||||
os.kill(self.monitorpid, signal.SIGKILL)
|
os.kill(self.monitorpid, signal.SIGKILL)
|
||||||
logger.info("Sending SIGTERM to runqemu")
|
logger.info("Sending SIGTERM to runqemu")
|
||||||
try:
|
try:
|
||||||
@@ -279,7 +280,6 @@ class QemuRunner:
|
|||||||
self.server_socket = None
|
self.server_socket = None
|
||||||
self.qemupid = None
|
self.qemupid = None
|
||||||
self.ip = None
|
self.ip = None
|
||||||
signal.signal(signal.SIGCHLD, self.origchldhandler)
|
|
||||||
|
|
||||||
def stop_thread(self):
|
def stop_thread(self):
|
||||||
if self.thread and self.thread.is_alive():
|
if self.thread and self.thread.is_alive():
|
||||||
|
|||||||
Reference in New Issue
Block a user