diff options
| -rw-r--r-- | bitbake/lib/bb/runqueue.py | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index e62bb5232f..dbb334c55f 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
| @@ -2090,22 +2090,18 @@ class runQueuePipe(): | |||
| 2090 | self.rqexec = rqexec | 2090 | self.rqexec = rqexec |
| 2091 | 2091 | ||
| 2092 | def read(self): | 2092 | def read(self): |
| 2093 | try: | 2093 | for w in [self.rq.worker, self.rq.fakeworker]: |
| 2094 | for w in [self.rq.worker, self.rq.fakeworker]: | 2094 | if not w: |
| 2095 | if not w: | 2095 | continue |
| 2096 | continue | 2096 | w.poll() |
| 2097 | pid, status = os.waitpid(w.pid, os.WNOHANG) | 2097 | if w.returncode is not None and not self.rq.teardown: |
| 2098 | if pid != 0 and not self.rq.teardown: | 2098 | name = None |
| 2099 | if self.rq.worker and pid == self.rq.worker.pid: | 2099 | if self.rq.worker and w.pid == self.rq.worker.pid: |
| 2100 | name = "Worker" | 2100 | name = "Worker" |
| 2101 | elif self.rq.fakeworker and pid == self.rq.fakeworker.pid: | 2101 | elif self.rq.fakeworker and w.pid == self.rq.fakeworker.pid: |
| 2102 | name = "Fakeroot" | 2102 | name = "Fakeroot" |
| 2103 | else: | 2103 | bb.error("%s process (%s) exited unexpectedly (%s), shutting down..." % (name, w.pid, str(w.returncode))) |
| 2104 | name = "Unknown" | 2104 | self.rq.finish_runqueue(True) |
| 2105 | bb.error("%s process (%s) exited unexpectedly (%s), shutting down..." % (name, pid, str(status))) | ||
| 2106 | self.rq.finish_runqueue(True) | ||
| 2107 | except OSError: | ||
| 2108 | pass | ||
| 2109 | 2105 | ||
| 2110 | start = len(self.queue) | 2106 | start = len(self.queue) |
| 2111 | try: | 2107 | try: |
