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 b5fed6c9fe..8b893601d4 100644 --- a/meta/lib/oeqa/utils/qemurunner.py +++ b/meta/lib/oeqa/utils/qemurunner.py | |||
@@ -543,10 +543,13 @@ class QemuRunner: | |||
543 | except OSError as e: | 543 | except OSError as e: |
544 | if e.errno != errno.ESRCH: | 544 | if e.errno != errno.ESRCH: |
545 | raise | 545 | raise |
546 | endtime = time.time() + self.runqemutime | 546 | try: |
547 | while self.runqemu.poll() is None and time.time() < endtime: | 547 | outs, errs = self.runqemu.communicate(timeout = self.runqemutime) |
548 | time.sleep(1) | 548 | if outs: |
549 | if self.runqemu.poll() is None: | 549 | self.logger.info("Output from runqemu:\n%s", outs.decode("utf-8")) |
550 | if errs: | ||
551 | self.logger.info("Stderr from runqemu:\n%s", errs.decode("utf-8")) | ||
552 | except TimeoutExpired: | ||
550 | self.logger.debug("Sending SIGKILL to runqemu") | 553 | self.logger.debug("Sending SIGKILL to runqemu") |
551 | os.killpg(os.getpgid(self.runqemu.pid), signal.SIGKILL) | 554 | os.killpg(os.getpgid(self.runqemu.pid), signal.SIGKILL) |
552 | if not self.runqemu.stdout.closed: | 555 | if not self.runqemu.stdout.closed: |