summaryrefslogtreecommitdiffstats
path: root/lib/bb/runqueue.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-31 23:07:20 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-04-01 10:21:11 +0100
commit724c889eed3b03d3199810c185086d3973af826c (patch)
tree5c7a73f234795670ea6ddf599afaf1f20ec59108 /lib/bb/runqueue.py
parentf4ebc4de63d64e3b5f87e1d0f51507760c3d82d7 (diff)
downloadopenembedded-core-contrib-724c889eed3b03d3199810c185086d3973af826c.tar.gz
runqueue: Fix sstate task dependency problems
If a setscene task has [depends], its possible they may still get executed out of order. The issue is that the dependencies are set to set() for all tasks involved. This patch adds back in explict dependencies within these chains to avoid the setscene task failures. [YOCTO #6069] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/runqueue.py')
-rw-r--r--lib/bb/runqueue.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 42b6c48ca9..1a19677892 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -1757,6 +1757,10 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
# Have to zero this to avoid circular dependencies
sq_revdeps_squash[self.rqdata.runq_setscene.index(taskid)] = set()
+ for task in self.sq_harddeps:
+ for dep in self.sq_harddeps[task]:
+ sq_revdeps_squash[dep].add(task)
+
#for task in xrange(len(sq_revdeps_squash)):
# realtask = self.rqdata.runq_setscene[task]
# bb.warn("Task %s: %s_setscene is %s " % (task, self.rqdata.get_user_idstring(realtask) , sq_revdeps_squash[task]))