summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/runqueue.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-25 18:56:00 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-26 14:55:21 +0100
commitb22592af8145a8c7c4ada2fa7c1dee2e753eca46 (patch)
tree00725cb7b90d33e75e7bd9638ea923feb9dd7de3 /bitbake/lib/bb/runqueue.py
parent58f0d04f782a41583a89549bab7a71b1ef8d0a8d (diff)
downloadpoky-b22592af8145a8c7c4ada2fa7c1dee2e753eca46.tar.gz
bitbake: runqueue.py: Ensure one setscene function doesn't mask out another which needs to run
The scenequeue code could result in one setscene function masking out another which had been marked as notcovered. This change ensures the notcovered list is taken into account when deciding which tasks need to be run, ensuring that tasks that should be run do get run. (Bitbake rev: 95b31127d8ba12ccb061d67481ece134c18c39f2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
-rw-r--r--bitbake/lib/bb/runqueue.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index fd33d0702e..a4009d4e9b 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1178,7 +1178,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
1178 self.runq_buildable.append(1) 1178 self.runq_buildable.append(1)
1179 else: 1179 else:
1180 self.runq_buildable.append(0) 1180 self.runq_buildable.append(0)
1181 if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered): 1181 if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered) and task not in self.rq.scenequeue_notcovered:
1182 self.rq.scenequeue_covered.add(task) 1182 self.rq.scenequeue_covered.add(task)
1183 1183
1184 found = True 1184 found = True
@@ -1189,7 +1189,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
1189 continue 1189 continue
1190 logger.debug(1, 'Considering %s (%s): %s' % (task, self.rqdata.get_user_idstring(task), str(self.rqdata.runq_revdeps[task]))) 1190 logger.debug(1, 'Considering %s (%s): %s' % (task, self.rqdata.get_user_idstring(task), str(self.rqdata.runq_revdeps[task])))
1191 1191
1192 if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered): 1192 if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered) and task not in self.rq.scenequeue_notcovered:
1193 ok = True 1193 ok = True
1194 for revdep in self.rqdata.runq_revdeps[task]: 1194 for revdep in self.rqdata.runq_revdeps[task]:
1195 if self.rqdata.runq_fnid[task] != self.rqdata.runq_fnid[revdep]: 1195 if self.rqdata.runq_fnid[task] != self.rqdata.runq_fnid[revdep]:
@@ -1646,6 +1646,9 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
1646 self.rq.scenequeue_covered = set() 1646 self.rq.scenequeue_covered = set()
1647 for task in oldcovered: 1647 for task in oldcovered:
1648 self.rq.scenequeue_covered.add(self.rqdata.runq_setscene[task]) 1648 self.rq.scenequeue_covered.add(self.rqdata.runq_setscene[task])
1649 self.rq.scenequeue_notcovered = set()
1650 for task in self.scenequeue_notcovered:
1651 self.rq.scenequeue_notcovered.add(self.rqdata.runq_setscene[task])
1649 1652
1650 logger.debug(1, 'We can skip tasks %s', sorted(self.rq.scenequeue_covered)) 1653 logger.debug(1, 'We can skip tasks %s', sorted(self.rq.scenequeue_covered))
1651 1654