summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru DAMIAN <alexandru.damian@intel.com>2013-09-16 12:46:01 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-16 22:46:18 +0100
commitcf4a0c7aa82090876ae652b611acfab3ce2688f7 (patch)
tree484e81620362b95031cfc481be45fdcf4cc609a6
parent8344d84c609446f59f9619cc7ca0d693b7e2bbd6 (diff)
downloadbitbake-cf4a0c7aa82090876ae652b611acfab3ce2688f7.tar.gz
runqueue: add runQueueTaskSkipped event
Adding a runQueueTaskSkipped to notify that the tasks that are not run either because they are set-scened or they don't need an update (timestamp was ok). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/runqueue.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 25f1ab5ce..6346c7711 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -1325,9 +1325,10 @@ class RunQueueExecuteTasks(RunQueueExecute):
if self.rqdata.taskData.abort:
self.rq.state = runQueueCleanUp
- def task_skip(self, task):
+ def task_skip(self, task, reason):
self.runq_running[task] = 1
self.runq_buildable[task] = 1
+ bb.event.fire(runQueueTaskSkipped(task, self.stats, self.rq, reason), self.cfgData)
self.task_completeoutright(task)
self.stats.taskCompleted()
self.stats.taskSkipped()
@@ -1352,13 +1353,13 @@ class RunQueueExecuteTasks(RunQueueExecute):
if task in self.rq.scenequeue_covered:
logger.debug(2, "Setscene covered task %s (%s)", task,
self.rqdata.get_user_idstring(task))
- self.task_skip(task)
+ self.task_skip(task, "covered")
return True
if self.rq.check_stamp_task(task, taskname, cache=self.stampcache):
logger.debug(2, "Stamp current task %s (%s)", task,
self.rqdata.get_user_idstring(task))
- self.task_skip(task)
+ self.task_skip(task, "existing")
return True
taskdep = self.rqdata.dataCache.task_deps[fn]
@@ -1834,6 +1835,14 @@ class sceneQueueTaskCompleted(sceneQueueEvent):
Event notifing a setscene task completed
"""
+class runQueueTaskSkipped(runQueueEvent):
+ """
+ Event notifing a task was skipped
+ """
+ def __init__(self, task, stats, rq, reason):
+ runQueueEvent.__init__(self, task, stats, rq)
+ self.reason = reason
+
class runQueuePipe():
"""
Abstraction for a pipe between a worker thread and the server