From d02f7b4649bc7ad258301706bbbc696ce24de598 Mon Sep 17 00:00:00 2001 From: Dongxiao Xu Date: Fri, 24 Feb 2012 09:31:30 +0800 Subject: runqueue: fire sceneQueueTaskStarted event when a setscene queue starts The current code prints a log when a setscene task starts, therefore the progressbar in hob will not receive it. Use a sceneQueueTaskStarted event instead. Besides, change the sceneQueueTaskFailed event to inherit runQueueEvent directly to avoid confusion to event receiver. (Bitbake rev: 7c07cc93d6558d7d9c3144b13493901b7ebae050) Signed-off-by: Shane Wang Signed-off-by: Dongxiao Xu Signed-off-by: Richard Purdie --- bitbake/lib/bb/runqueue.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index c24841ffcd..3ad0c0aa92 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -1651,6 +1651,9 @@ class RunQueueExecuteScenequeue(RunQueueExecute): logger.info("Running setscene task %d of %d (%s:%s)" % (self.stats.completed + self.stats.active + self.stats.failed + 1, self.stats.total, fn, taskname)) + startevent = sceneQueueTaskStarted(task, self.stats, self.rq) + bb.event.fire(startevent, self.cfgData) + pid, pipein, pipeout = self.fork_off_task(fn, realtask, taskname) self.build_pids[pid] = task @@ -1718,6 +1721,14 @@ class runQueueTaskStarted(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.noexec = noexec +class sceneQueueTaskStarted(runQueueEvent): + """ + Event notifing a setscene task was started + """ + def __init__(self, task, stats, rq, noexec=False): + runQueueEvent.__init__(self, task, stats, rq) + self.noexec = noexec + class runQueueTaskFailed(runQueueEvent): """ Event notifing a task failed @@ -1726,12 +1737,13 @@ class runQueueTaskFailed(runQueueEvent): runQueueEvent.__init__(self, task, stats, rq) self.exitcode = exitcode -class sceneQueueTaskFailed(runQueueTaskFailed): +class sceneQueueTaskFailed(runQueueEvent): """ Event notifing a setscene task failed """ def __init__(self, task, stats, exitcode, rq): - runQueueTaskFailed.__init__(self, task, stats, exitcode, rq) + runQueueEvent.__init__(self, task, stats, rq) + self.exitcode = exitcode self.taskstring = rq.rqdata.get_user_idstring(task, "_setscene") class runQueueTaskCompleted(runQueueEvent): -- cgit v1.2.3-54-g00ecf