]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
bitbake: runqueue: Don't catch all child return codes
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 19 Mar 2014 11:29:12 +0000 (11:29 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 19 Mar 2014 13:48:57 +0000 (13:48 +0000)
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.

(Bitbake rev: fa7ffb62d510ac1124ae7e08fa4d190a710f5b54)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/runqueue.py

index fa7a99fba1b7933e2ab67bc1f9cc199a0247ac24..fc6bec11f90b10c2e07ac4bf800d3609c8622d67 100644 (file)
@@ -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: