diff options
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
| -rw-r--r-- | bitbake/lib/bb/runqueue.py | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 84a6f4172c..999868dd72 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
| @@ -1280,11 +1280,18 @@ class RunQueueData: | |||
| 1280 | dealtwith = set() | 1280 | dealtwith = set() |
| 1281 | todeal = set(self.runtaskentries) | 1281 | todeal = set(self.runtaskentries) |
| 1282 | while todeal: | 1282 | while todeal: |
| 1283 | ready = set() | ||
| 1283 | for tid in todeal.copy(): | 1284 | for tid in todeal.copy(): |
| 1284 | if not (self.runtaskentries[tid].depends - dealtwith): | 1285 | if not (self.runtaskentries[tid].depends - dealtwith): |
| 1285 | dealtwith.add(tid) | 1286 | self.runtaskentries[tid].taskhash_deps = bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) |
| 1286 | todeal.remove(tid) | 1287 | # get_taskhash for a given tid *must* be called before get_unihash* below |
| 1287 | self.prepare_task_hash(tid) | 1288 | self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) |
| 1289 | ready.add(tid) | ||
| 1290 | unihashes = bb.parse.siggen.get_unihashes(ready) | ||
| 1291 | for tid in ready: | ||
| 1292 | dealtwith.add(tid) | ||
| 1293 | todeal.remove(tid) | ||
| 1294 | self.runtaskentries[tid].unihash = unihashes[tid] | ||
| 1288 | 1295 | ||
| 1289 | bb.event.check_for_interrupts(self.cooker.data) | 1296 | bb.event.check_for_interrupts(self.cooker.data) |
| 1290 | 1297 | ||
| @@ -1301,11 +1308,6 @@ class RunQueueData: | |||
| 1301 | #self.dump_data() | 1308 | #self.dump_data() |
| 1302 | return len(self.runtaskentries) | 1309 | return len(self.runtaskentries) |
| 1303 | 1310 | ||
| 1304 | def prepare_task_hash(self, tid): | ||
| 1305 | self.runtaskentries[tid].taskhash_deps = bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) | ||
| 1306 | self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) | ||
| 1307 | self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) | ||
| 1308 | |||
| 1309 | def dump_data(self): | 1311 | def dump_data(self): |
| 1310 | """ | 1312 | """ |
| 1311 | Dump some debug information on the internal data structures | 1313 | Dump some debug information on the internal data structures |
