]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake: runqueue: Allow passing of success/failure handlers to runqueue_process_wait...
authorRichard Purdie <rpurdie@linux.intel.com>
Tue, 6 Jul 2010 16:45:18 +0000 (17:45 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Fri, 16 Jul 2010 11:31:20 +0000 (12:31 +0100)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake/lib/bb/runqueue.py

index 31978d49bae9a0126201017ccee084a9620767eb..f9acd9ca2d46792ac0d3f683800c9349d114012b 100644 (file)
@@ -956,7 +956,7 @@ class RunQueue:
                 self.build_pipes[pipe].read()
 
             if self.stats.active > 0:
-                if self.runqueue_process_waitpid() is None:
+                if self.runqueue_process_waitpid(self.task_complete, self.task_fail) is None:
                     return
                 continue
 
@@ -975,7 +975,7 @@ class RunQueue:
             self.state = runQueueComplete
             return
 
-    def runqueue_process_waitpid(self):
+    def runqueue_process_waitpid(self, success, failure):
         """
         Return none is there are no processes awaiting result collection, otherwise
         collect the process exit codes and close the information pipe.
@@ -988,9 +988,9 @@ class RunQueue:
         self.build_pipes[result[0]].close()
         del self.build_pipes[result[0]]
         if result[1] != 0:
-            self.task_fail(task, result[1])
+            failure(task, result[1])
         else:
-            self.task_complete(task)
+            success(task)
             self.stats.taskCompleted()
             bb.event.fire(runQueueTaskCompleted(task, self.stats, self), self.cfgData)
 
@@ -1016,7 +1016,7 @@ class RunQueue:
         try:
             while self.stats.active > 0:
                 bb.event.fire(runQueueExitWait(self.stats.active), self.cfgData)
-                if self.runqueue_process_waitpid() is None:
+                if self.runqueue_process_waitpid(self.task_complete, self.task_fail) is None:
                     return
         except:
             self.finish_runqueue_now()