aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-19 11:29:12 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-19 13:29:00 +0000
commitfa7ffb62d510ac1124ae7e08fa4d190a710f5b54 (patch)
tree2a55c41c509427c8b1d73e457175494c5f8afbe9 /lib
parent973876c706f08735c1b68c791a5a137e5f083dd2 (diff)
downloadbitbake-fa7ffb62d510ac1124ae7e08fa4d190a710f5b54.tar.gz
runqueue: Don't catch all child return codes
Catching all child exit status values is a bad idea. Setting an http sstate mirror is a great way to view that spectacularly break things. The previous change did have good code changes so don't revert those parts. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/bb/runqueue.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index fa7a99fba..fc6bec11f 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -914,10 +914,11 @@ class RunQueue:
workerpipe.close()
def sigchild_exception(self, *args, **kwargs):
- pid = -1
- while pid:
+ for w in [self.worker, self.fakeworker]:
+ if not w:
+ continue
try:
- pid, status = os.waitpid(-1, os.WNOHANG)
+ pid, status = os.waitpid(w.pid, os.WNOHANG)
if pid != 0 and not self.teardown:
name = None
if self.worker and pid == self.worker.pid: