summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Larson <chris_larson@mentor.com>2016-10-06 21:07:41 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-10-07 16:42:01 +0100
commit267e025cad44c8bd0fb157f1f7a2e08df117ba84 (patch)
tree8dfb193d8aa1de8a2a80192f925823110f2c0474
parent812bd49cb569379ee90d5be28a4b6e60645f1e54 (diff)
downloadbitbake-267e025cad44c8bd0fb157f1f7a2e08df117ba84.tar.gz
bb.runqueue: fix unexpected process death logic
`if w in self.rq.worker` when w *is* self.rq.worker doesn't make a great deal of sense, and results in this error: File ".../poky/bitbake/lib/bb/runqueue.py", line 2372, in runQueuePipe.read(): name = None > if w in self.rq.worker: name = "Worker" TypeError: unhashable type: 'dict' Most likely this was meant to be 'is' rather than 'in', but rather than checking after the fact, just include the name in the iteration, instead. While we're here, also clean up and fix the broken error message. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/runqueue.py15
1 files changed, 5 insertions, 10 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 15716398f..df7c50fe9 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -2365,16 +2365,11 @@ class runQueuePipe():
self.rqexec = rqexec
def read(self):
- for w in [self.rq.worker, self.rq.fakeworker]:
- for mc in w:
- w[mc].process.poll()
- if w[mc].process.returncode is not None and not self.rq.teardown:
- name = None
- if w in self.rq.worker:
- name = "Worker"
- elif w in self.rq.fakeworker:
- name = "Fakeroot"
- bb.error("%s process (%s) exited unexpectedly (%s), shutting down..." % (name, w.pid, str(w.returncode)))
+ for workers, name in [(self.rq.worker, "Worker"), (self.rq.fakeworker, "Fakeroot")]:
+ for worker in workers.values():
+ worker.process.poll()
+ if worker.process.returncode is not None and not self.rq.teardown:
+ bb.error("%s process (%s) exited unexpectedly (%s), shutting down..." % (name, worker.process.pid, str(worker.process.returncode)))
self.rq.finish_runqueue(True)
start = len(self.queue)