summaryrefslogtreecommitdiffstats
path: root/bitbake/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/bin')
-rwxr-xr-xbitbake/bin/bitbake-worker23
1 files changed, 13 insertions, 10 deletions
diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker
index 963b4cdf93..1926b89882 100755
--- a/bitbake/bin/bitbake-worker
+++ b/bitbake/bin/bitbake-worker
@@ -115,7 +115,7 @@ def sigterm_handler(signum, frame):
115 os.killpg(0, signal.SIGTERM) 115 os.killpg(0, signal.SIGTERM)
116 sys.exit() 116 sys.exit()
117 117
118def fork_off_task(cfg, data, workerdata, fn, task, taskname, appends, taskdepdata, quieterrors=False): 118def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, appends, taskdepdata, quieterrors=False):
119 # We need to setup the environment BEFORE the fork, since 119 # We need to setup the environment BEFORE the fork, since
120 # a fork() or exec*() activates PSEUDO... 120 # a fork() or exec*() activates PSEUDO...
121 121
@@ -193,15 +193,18 @@ def fork_off_task(cfg, data, workerdata, fn, task, taskname, appends, taskdepdat
193 if umask: 193 if umask:
194 os.umask(umask) 194 os.umask(umask)
195 195
196 data.setVar("BB_WORKERCONTEXT", "1")
197 data.setVar("BB_TASKDEPDATA", taskdepdata)
198 data.setVar("BUILDNAME", workerdata["buildname"])
199 data.setVar("DATE", workerdata["date"])
200 data.setVar("TIME", workerdata["time"])
201 bb.parse.siggen.set_taskdata(workerdata["sigdata"])
202 ret = 0
203 try: 196 try:
204 the_data = bb.cache.Cache.loadDataFull(fn, appends, data) 197 bb_cache = bb.cache.NoCache(databuilder)
198 the_data = databuilder.data
199 the_data.setVar("BB_WORKERCONTEXT", "1")
200 the_data.setVar("BB_TASKDEPDATA", taskdepdata)
201 the_data.setVar("BUILDNAME", workerdata["buildname"])
202 the_data.setVar("DATE", workerdata["date"])
203 the_data.setVar("TIME", workerdata["time"])
204 bb.parse.siggen.set_taskdata(workerdata["sigdata"])
205 ret = 0
206
207 the_data = bb_cache.loadDataFull(fn, appends)
205 the_data.setVar('BB_TASKHASH', workerdata["runq_hash"][task]) 208 the_data.setVar('BB_TASKHASH', workerdata["runq_hash"][task])
206 209
207 bb.utils.set_process_name("%s:%s" % (the_data.getVar("PN", True), taskname.replace("do_", ""))) 210 bb.utils.set_process_name("%s:%s" % (the_data.getVar("PN", True), taskname.replace("do_", "")))
@@ -389,7 +392,7 @@ class BitbakeWorker(object):
389 fn, task, taskname, quieterrors, appends, taskdepdata = pickle.loads(data) 392 fn, task, taskname, quieterrors, appends, taskdepdata = pickle.loads(data)
390 workerlog_write("Handling runtask %s %s %s\n" % (task, fn, taskname)) 393 workerlog_write("Handling runtask %s %s %s\n" % (task, fn, taskname))
391 394
392 pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.workerdata, fn, task, taskname, appends, taskdepdata, quieterrors) 395 pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, appends, taskdepdata, quieterrors)
393 396
394 self.build_pids[pid] = task 397 self.build_pids[pid] = task
395 self.build_pipes[pid] = runQueueWorkerPipe(pipein, pipeout) 398 self.build_pipes[pid] = runQueueWorkerPipe(pipein, pipeout)