diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-19 11:29:12 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-19 13:29:00 +0000 |
commit | fa7ffb62d510ac1124ae7e08fa4d190a710f5b54 (patch) | |
tree | 2a55c41c509427c8b1d73e457175494c5f8afbe9 | |
parent | 973876c706f08735c1b68c791a5a137e5f083dd2 (diff) | |
download | openembedded-core-contrib-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>
-rw-r--r-- | lib/bb/runqueue.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index fa7a99fba1..fc6bec11f9 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: |