mirror of
https://git.yoctoproject.org/poky
synced 2026-06-04 14:09:47 +00:00
bitbake: runqueue: Remove tie between rqexe and starts_worker
We've been moving to try and separate several pieces of runqueue. Allow start_worker to operate separately to rqexe since they don't need to be tied. This allows rqexe to be available to print_diff for future improvements. (Bitbake rev: 834e452243ff2eea6e8e2e7f4935b5233ffb4b00) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -1390,12 +1390,12 @@ class RunQueue:
|
|||||||
continue
|
continue
|
||||||
worker.pipe.close()
|
worker.pipe.close()
|
||||||
|
|
||||||
def start_worker(self):
|
def start_worker(self, rqexec):
|
||||||
if self.worker:
|
if self.worker:
|
||||||
self.teardown_workers()
|
self.teardown_workers()
|
||||||
self.teardown = False
|
self.teardown = False
|
||||||
for mc in self.rqdata.dataCaches:
|
for mc in self.rqdata.dataCaches:
|
||||||
self.worker[mc] = self._start_worker(mc)
|
self.worker[mc] = self._start_worker(mc, False, rqexec)
|
||||||
|
|
||||||
def start_fakeworker(self, rqexec, mc):
|
def start_fakeworker(self, rqexec, mc):
|
||||||
if not mc in self.fakeworker:
|
if not mc in self.fakeworker:
|
||||||
@@ -1555,6 +1555,9 @@ class RunQueue:
|
|||||||
('bb.event.HeartbeatEvent',), data=self.cfgData)
|
('bb.event.HeartbeatEvent',), data=self.cfgData)
|
||||||
self.dm_event_handler_registered = True
|
self.dm_event_handler_registered = True
|
||||||
|
|
||||||
|
self.rqdata.init_progress_reporter.next_stage()
|
||||||
|
self.rqexe = RunQueueExecute(self)
|
||||||
|
|
||||||
dump = self.cooker.configuration.dump_signatures
|
dump = self.cooker.configuration.dump_signatures
|
||||||
if dump:
|
if dump:
|
||||||
self.rqdata.init_progress_reporter.finish()
|
self.rqdata.init_progress_reporter.finish()
|
||||||
@@ -1566,10 +1569,8 @@ class RunQueue:
|
|||||||
self.state = runQueueComplete
|
self.state = runQueueComplete
|
||||||
|
|
||||||
if self.state is runQueueSceneInit:
|
if self.state is runQueueSceneInit:
|
||||||
self.rqdata.init_progress_reporter.next_stage()
|
self.start_worker(self.rqexe)
|
||||||
self.start_worker()
|
self.rqdata.init_progress_reporter.finish()
|
||||||
self.rqdata.init_progress_reporter.next_stage()
|
|
||||||
self.rqexe = RunQueueExecute(self)
|
|
||||||
|
|
||||||
# If we don't have any setscene functions, skip execution
|
# If we don't have any setscene functions, skip execution
|
||||||
if not self.rqdata.runq_setscene_tids:
|
if not self.rqdata.runq_setscene_tids:
|
||||||
@@ -1823,11 +1824,6 @@ class RunQueueExecute:
|
|||||||
|
|
||||||
self.stats = RunQueueStats(len(self.rqdata.runtaskentries), len(self.rqdata.runq_setscene_tids))
|
self.stats = RunQueueStats(len(self.rqdata.runtaskentries), len(self.rqdata.runq_setscene_tids))
|
||||||
|
|
||||||
for mc in rq.worker:
|
|
||||||
rq.worker[mc].pipe.setrunqueueexec(self)
|
|
||||||
for mc in rq.fakeworker:
|
|
||||||
rq.fakeworker[mc].pipe.setrunqueueexec(self)
|
|
||||||
|
|
||||||
if self.number_tasks <= 0:
|
if self.number_tasks <= 0:
|
||||||
bb.fatal("Invalid BB_NUMBER_THREADS %s" % self.number_tasks)
|
bb.fatal("Invalid BB_NUMBER_THREADS %s" % self.number_tasks)
|
||||||
|
|
||||||
@@ -2974,7 +2970,7 @@ def build_scenequeue_data(sqdata, rqdata, sqrq):
|
|||||||
if not sqdata.sq_revdeps[tid]:
|
if not sqdata.sq_revdeps[tid]:
|
||||||
sqrq.sq_buildable.add(tid)
|
sqrq.sq_buildable.add(tid)
|
||||||
|
|
||||||
rqdata.init_progress_reporter.finish()
|
rqdata.init_progress_reporter.next_stage()
|
||||||
|
|
||||||
sqdata.noexec = set()
|
sqdata.noexec = set()
|
||||||
sqdata.stamppresent = set()
|
sqdata.stamppresent = set()
|
||||||
@@ -3193,9 +3189,6 @@ class runQueuePipe():
|
|||||||
self.rqexec = rqexec
|
self.rqexec = rqexec
|
||||||
self.fakerootlogs = fakerootlogs
|
self.fakerootlogs = fakerootlogs
|
||||||
|
|
||||||
def setrunqueueexec(self, rqexec):
|
|
||||||
self.rqexec = rqexec
|
|
||||||
|
|
||||||
def read(self):
|
def read(self):
|
||||||
for workers, name in [(self.rq.worker, "Worker"), (self.rq.fakeworker, "Fakeroot")]:
|
for workers, name in [(self.rq.worker, "Worker"), (self.rq.fakeworker, "Fakeroot")]:
|
||||||
for worker in workers.values():
|
for worker in workers.values():
|
||||||
|
|||||||
Reference in New Issue
Block a user