diff options
Diffstat (limited to 'lib/bb/runqueue.py')
-rw-r--r-- | lib/bb/runqueue.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 246a9cdb6..cb499a1cb 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -2320,6 +2320,7 @@ class RunQueueExecute: if tid not in self.pending_migrations: self.pending_migrations.add(tid) + update_tasks = [] for tid in self.pending_migrations.copy(): if tid in self.runq_running or tid in self.sq_live: # Too late, task already running, not much we can do now @@ -2379,11 +2380,13 @@ class RunQueueExecute: if tid in self.build_stamps: del self.build_stamps[tid] - origvalid = False - if tid in self.sqdata.valid: - origvalid = True + update_tasks.append((tid, harddepfail, tid in self.sqdata.valid)) + + if update_tasks: self.sqdone = False - update_scenequeue_data([tid], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self, summary=False) + update_scenequeue_data([t[0] for t in update_tasks], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self, summary=False) + + for (tid, harddepfail, origvalid) in update_tasks: if tid in self.sqdata.valid and not origvalid: logger.info("Setscene task %s became valid" % tid) if harddepfail: |