diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2009-07-21 22:32:35 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-07-21 22:32:35 +0100 |
commit | 502bd2ef92f6cddf74ac85279dab621372791dc0 (patch) | |
tree | c9d23d051f85a119164d774a0a3c05c4372ec64d | |
parent | 8f5363d16de17459b654ca780e5bbd6e04b6bb73 (diff) | |
download | openembedded-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.py | 10 |
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) |