bitbake: runqueue: Allow passing of success/failure handlers to runqueue_process_waitpid()

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Richard Purdie 2010-07-06 17:45:18 +01:00
parent 8c23850453
commit 6598f98ba8
1 changed files with 5 additions and 5 deletions

View File

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