runqueue.py: Ensure setscene tasks don't break dependency order
If A depends upon B which depends upon C and the setscene for B succeeds but C is going to get rebuilt, we should wait for C to try and build A but currently we don't. This is due to the timing of when we run the task_skip() as this triggers other tasks to become buildable. This patch moves the timing of that call to a more appropriate place allowing dependencies to behave as expected. (Bitbake rev: b7114d8e5d9b0720339bd5d24d243c0f2a7c1f3b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
375297ea28
commit
2747b2003e
|
@ -1232,9 +1232,6 @@ class RunQueueExecuteTasks(RunQueueExecute):
|
||||||
|
|
||||||
logger.debug(1, 'Full skip list %s', self.rq.scenequeue_covered)
|
logger.debug(1, 'Full skip list %s', self.rq.scenequeue_covered)
|
||||||
|
|
||||||
for task in self.rq.scenequeue_covered:
|
|
||||||
self.task_skip(task)
|
|
||||||
|
|
||||||
event.fire(bb.event.StampUpdate(self.rqdata.target_pairs, self.rqdata.dataCache.stamp), self.cfgData)
|
event.fire(bb.event.StampUpdate(self.rqdata.target_pairs, self.rqdata.dataCache.stamp), self.cfgData)
|
||||||
|
|
||||||
schedulers = self.get_schedulers()
|
schedulers = self.get_schedulers()
|
||||||
|
@ -1328,8 +1325,14 @@ class RunQueueExecuteTasks(RunQueueExecute):
|
||||||
task = self.sched.next()
|
task = self.sched.next()
|
||||||
if task is not None:
|
if task is not None:
|
||||||
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
|
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
|
||||||
|
|
||||||
taskname = self.rqdata.runq_task[task]
|
taskname = self.rqdata.runq_task[task]
|
||||||
|
|
||||||
|
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)
|
||||||
|
return True
|
||||||
|
|
||||||
if self.rq.check_stamp_task(task, taskname):
|
if self.rq.check_stamp_task(task, taskname):
|
||||||
logger.debug(2, "Stamp current task %s (%s)", task,
|
logger.debug(2, "Stamp current task %s (%s)", task,
|
||||||
self.rqdata.get_user_idstring(task))
|
self.rqdata.get_user_idstring(task))
|
||||||
|
|
Loading…
Reference in New Issue