diff options
Diffstat (limited to 'meta/lib/oeqa/utils/qemurunner.py')
-rw-r--r-- | meta/lib/oeqa/utils/qemurunner.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py index 6a85f57e49..c68974f25c 100644 --- a/meta/lib/oeqa/utils/qemurunner.py +++ b/meta/lib/oeqa/utils/qemurunner.py | |||
@@ -538,10 +538,13 @@ class QemuRunner: | |||
538 | except OSError as e: | 538 | except OSError as e: |
539 | if e.errno != errno.ESRCH: | 539 | if e.errno != errno.ESRCH: |
540 | raise | 540 | raise |
541 | endtime = time.time() + self.runqemutime | 541 | try: |
542 | while self.runqemu.poll() is None and time.time() < endtime: | 542 | outs, errs = self.runqemu.communicate(timeout = self.runqemutime) |
543 | time.sleep(1) | 543 | if outs: |
544 | if self.runqemu.poll() is None: | 544 | self.logger.info("Output from runqemu:\n%s", outs.decode("utf-8")) |
545 | if errs: | ||
546 | self.logger.info("Stderr from runqemu:\n%s", errs.decode("utf-8")) | ||
547 | except TimeoutExpired: | ||
545 | self.logger.debug("Sending SIGKILL to runqemu") | 548 | self.logger.debug("Sending SIGKILL to runqemu") |
546 | os.killpg(os.getpgid(self.runqemu.pid), signal.SIGKILL) | 549 | os.killpg(os.getpgid(self.runqemu.pid), signal.SIGKILL) |
547 | if not self.runqemu.stdout.closed: | 550 | if not self.runqemu.stdout.closed: |