]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake: Fix a bug in runqueue and optimise slightly further
authorRichard Purdie <rpurdie@linux.intel.com>
Tue, 21 Jul 2009 21:32:35 +0000 (22:32 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 21 Jul 2009 21:32:35 +0000 (22:32 +0100)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake/lib/bb/runqueue.py

index ebc70ee61cf77b73f2084a649a1a7bfd70633e94..2f204aea97d9042a414511178f4d756585025c1d 100644 (file)
@@ -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)