summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2009-07-21 22:32:35 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2009-07-21 22:32:35 +0100
commit502bd2ef92f6cddf74ac85279dab621372791dc0 (patch)
treec9d23d051f85a119164d774a0a3c05c4372ec64d
parent8f5363d16de17459b654ca780e5bbd6e04b6bb73 (diff)
downloadopenembedded-core-502bd2ef92f6cddf74ac85279dab621372791dc0.tar.gz
openembedded-core-502bd2ef92f6cddf74ac85279dab621372791dc0.tar.bz2
openembedded-core-502bd2ef92f6cddf74ac85279dab621372791dc0.zip
bitbake: Fix a bug in runqueue and optimise slightly further
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
-rw-r--r--bitbake/lib/bb/runqueue.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index ebc70ee61c..2f204aea97 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -464,10 +464,9 @@ class RunQueue:
fnid = self.runq_fnid[task]
if fnid not in reccumdepends:
reccumdepends[fnid] = set()
- if task in self.runq_depends:
- reccumdepends[fnid].update(self.runq_depends[task])
- if fnid in tdepends_fnid:
- reccumdepends[fnid].update(tdepends_fnid[fnid])
+ if fnid in tdepends_fnid:
+ reccumdepends[fnid].update(tdepends_fnid[fnid])
+ reccumdepends[fnid].update(self.runq_depends[task])
for task in range(len(self.runq_fnid)):
taskfnid = self.runq_fnid[task]
for fnid in reccumdepends:
@@ -485,6 +484,9 @@ class RunQueue:
if len(runq_recrdepends[task]) > 0:
taskfnid = self.runq_fnid[task]
for dep in reccumdepends[taskfnid]:
+ # Ignore self references
+ if dep == task:
+ continue
for taskname in runq_recrdepends[task]:
if taskData.tasks_name[dep] == taskname:
self.runq_depends[task].add(dep)