summaryrefslogtreecommitdiffstats
path: root/lib/bb/runqueue.py
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-25 00:58:23 +0100
committerChris Larson <chris_larson@mentor.com>2010-12-21 10:13:02 -0500
commit9175024d1ace0e18233392532cd9ca66059d5f95 (patch)
tree5f6a7b364c3f66b63abcfd1997dc4ee89e295ade /lib/bb/runqueue.py
parentce5ab0fc524a1c2c48c4c39d6fc8aae23019207b (diff)
downloadbitbake-9175024d1ace0e18233392532cd9ca66059d5f95.tar.gz
bitbake/runqueue.py: Ensure rqexe always exists and that empty task lists cause a graceful exit
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com> Signed-off-by: Chris Larson <chris_larson@mentor.com>
Diffstat (limited to 'lib/bb/runqueue.py')
-rw-r--r--lib/bb/runqueue.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 1bb626ce0..aa2ae700a 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -369,7 +369,7 @@ class RunQueueData:
if len(taskData.tasks_name) == 0:
# Nothing to do
- return
+ return 0
logger.info("Preparing runqueue")
@@ -683,7 +683,7 @@ class RunQueueData:
stampfnwhitelist.append(fn)
self.stampfnwhitelist = stampfnwhitelist
- #self.dump_data(taskData)
+ return len(self.runq_fnid)
def dump_data(self, taskQueue):
"""
@@ -867,8 +867,11 @@ class RunQueue:
retval = 0.5
if self.state is runQueuePrepare:
- self.rqdata.prepare()
- self.state = runQueueRunInit
+ self.rqexe = RunQueueExecuteDummy(self)
+ if self.rqdata.prepare() is 0:
+ self.state = runQueueComplete
+ else:
+ self.state = runQueueRunInit
if self.state is runQueueRunInit:
logger.info("Executing runqueue")
@@ -1018,6 +1021,15 @@ class RunQueueExecute:
os._exit(0)
return pid, pipein, pipeout
+class RunQueueExecuteDummy(RunQueueExecute):
+ def __init__(self, rq):
+ self.rq = rq
+ self.stats = RunQueueStats(0)
+
+ def finish(self):
+ self.rq.state = runQueueComplete
+ return
+
class RunQueueExecuteTasks(RunQueueExecute):
def __init__(self, rq):
RunQueueExecute.__init__(self, rq)