diff options
Diffstat (limited to 'meta/lib/oeqa')
-rw-r--r-- | meta/lib/oeqa/utils/qemurunner.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py index 4a2246733f..7273bbc3db 100644 --- a/meta/lib/oeqa/utils/qemurunner.py +++ b/meta/lib/oeqa/utils/qemurunner.py | |||
@@ -785,19 +785,20 @@ class LoggingThread(threading.Thread): | |||
785 | self.logger.debug("Starting thread event loop") | 785 | self.logger.debug("Starting thread event loop") |
786 | while not breakout: | 786 | while not breakout: |
787 | events = poll.poll(2) | 787 | events = poll.poll(2) |
788 | for event in events: | 788 | for fd, event in events: |
789 | |||
789 | # An error occurred, bail out | 790 | # An error occurred, bail out |
790 | if event[1] & self.errorevents: | 791 | if event & self.errorevents: |
791 | raise Exception(self.stringify_event(event[1])) | 792 | raise Exception(self.stringify_event(event)) |
792 | 793 | ||
793 | # Event to stop the thread | 794 | # Event to stop the thread |
794 | if self.readpipe == event[0]: | 795 | if self.readpipe == fd: |
795 | self.logger.debug("Stop event received") | 796 | self.logger.debug("Stop event received") |
796 | breakout = True | 797 | breakout = True |
797 | break | 798 | break |
798 | 799 | ||
799 | # A connection request was received | 800 | # A connection request was received |
800 | elif self.serversock and self.serversock.fileno() == event[0]: | 801 | elif self.serversock and self.serversock.fileno() == fd: |
801 | self.logger.debug("Connection request received") | 802 | self.logger.debug("Connection request received") |
802 | self.readsock, _ = self.serversock.accept() | 803 | self.readsock, _ = self.serversock.accept() |
803 | self.readsock.setblocking(0) | 804 | self.readsock.setblocking(0) |
@@ -808,14 +809,14 @@ class LoggingThread(threading.Thread): | |||
808 | self.connection_established.set() | 809 | self.connection_established.set() |
809 | 810 | ||
810 | # Actual data to be logged | 811 | # Actual data to be logged |
811 | elif self.readsock.fileno() == event[0]: | 812 | elif self.readsock and self.readsock.fileno() == fd: |
812 | data = self.recv(1024, self.readsock) | 813 | data = self.recv(1024, self.readsock) |
813 | self.logfunc(data) | 814 | self.logfunc(data) |
814 | elif self.qemuoutput.fileno() == event[0]: | 815 | elif self.qemuoutput.fileno() == fd: |
815 | data = self.qemuoutput.read() | 816 | data = self.qemuoutput.read() |
816 | self.logger.debug("Data received on qemu stdout %s" % data) | 817 | self.logger.debug("Data received on qemu stdout %s" % data) |
817 | self.logfunc(data, ".stdout") | 818 | self.logfunc(data, ".stdout") |
818 | elif self.serialsock and self.serialsock.fileno() == event[0]: | 819 | elif self.serialsock and self.serialsock.fileno() == fd: |
819 | if self.serial_lock.acquire(blocking=False): | 820 | if self.serial_lock.acquire(blocking=False): |
820 | data = self.recv(1024, self.serialsock) | 821 | data = self.recv(1024, self.serialsock) |
821 | self.logger.debug("Data received serial thread %s" % data.decode('utf-8', 'replace')) | 822 | self.logger.debug("Data received serial thread %s" % data.decode('utf-8', 'replace')) |
@@ -864,6 +865,9 @@ class LoggingThread(threading.Thread): | |||
864 | val = 'POLLHUP' | 865 | val = 'POLLHUP' |
865 | elif select.POLLNVAL == event: | 866 | elif select.POLLNVAL == event: |
866 | val = 'POLLNVAL' | 867 | val = 'POLLNVAL' |
868 | else: | ||
869 | val = "0x%x" % (event) | ||
870 | |||
867 | return val | 871 | return val |
868 | 872 | ||
869 | def close_socket(self, sock): | 873 | def close_socket(self, sock): |