From 55077eac1ef2df72e949fdc59c2f3afc85b36ecd Mon Sep 17 00:00:00 2001 From: Randy Witt Date: Tue, 25 Aug 2015 13:58:47 -0700 Subject: qemurunner: Shut down logging thread successfully when test fails Before this change on a test failure an exception would be generated due to runqemu being killed before the logging thread which was on the other end of the socket. The exception was actually correct saying there was no data on a socket marked readable, but this was because the qemu process was killed before the listener thread. (From OE-Core rev: 6497fddf7f6c4a59e16dab4a9daeb3614a61a8dc) Signed-off-by: Randy Witt Signed-off-by: Richard Purdie --- meta/lib/oeqa/utils/qemurunner.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'meta/lib/oeqa/utils/qemurunner.py') diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py index 33f31852a7..d079072af8 100644 --- a/meta/lib/oeqa/utils/qemurunner.py +++ b/meta/lib/oeqa/utils/qemurunner.py @@ -209,6 +209,7 @@ class QemuRunner: def stop(self): + self.stop_thread() if self.runqemu: logger.info("Sending SIGTERM to runqemu") try: @@ -228,7 +229,6 @@ class QemuRunner: self.server_socket = None self.qemupid = None self.ip = None - self.stop_thread() def stop_thread(self): if self.thread and self.thread.is_alive(): @@ -403,6 +403,7 @@ class LoggingThread(threading.Thread): elif self.serversock.fileno() == event[0]: self.logger.info("Connection request received") self.readsock, _ = self.serversock.accept() + self.readsock.setblocking(0) poll.unregister(self.serversock.fileno()) poll.register(self.readsock.fileno()) -- cgit v1.2.3-54-g00ecf