summaryrefslogtreecommitdiffstats
path: root/bitbake/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:30 +0100
commitd67f25da2d1acb8f5c833dad7a2c1fc710261d6c (patch)
treeed5719289ac5e345fb22b4afcb3c1242e8d85abf /bitbake/lib/bb/runqueue.py
parentdee07bee84361eb58cdc0e267b22d71155b89b65 (diff)
downloadpoky-d67f25da2d1acb8f5c833dad7a2c1fc710261d6c.tar.gz
bitbake: 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] (Bitbake rev: 724c889eed3b03d3199810c185086d3973af826c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
-rw-r--r--bitbake/lib/bb/runqueue.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 42b6c48ca9..1a19677892 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1757,6 +1757,10 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
1757 # Have to zero this to avoid circular dependencies 1757 # Have to zero this to avoid circular dependencies
1758 sq_revdeps_squash[self.rqdata.runq_setscene.index(taskid)] = set() 1758 sq_revdeps_squash[self.rqdata.runq_setscene.index(taskid)] = set()
1759 1759
1760 for task in self.sq_harddeps:
1761 for dep in self.sq_harddeps[task]:
1762 sq_revdeps_squash[dep].add(task)
1763
1760 #for task in xrange(len(sq_revdeps_squash)): 1764 #for task in xrange(len(sq_revdeps_squash)):
1761 # realtask = self.rqdata.runq_setscene[task] 1765 # realtask = self.rqdata.runq_setscene[task]
1762 # bb.warn("Task %s: %s_setscene is %s " % (task, self.rqdata.get_user_idstring(realtask) , sq_revdeps_squash[task])) 1766 # bb.warn("Task %s: %s_setscene is %s " % (task, self.rqdata.get_user_idstring(realtask) , sq_revdeps_squash[task]))