From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) by mail.openembedded.org (Postfix) with ESMTP id C8D826C5DA; Tue, 4 Dec 2018 03:46:31 +0000 (UTC) Received: by mail-io1-f53.google.com with SMTP id m19so12427525ioh.3; Mon, 03 Dec 2018 19:46:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=oe7uC84Wfo2F2+TNaWTi4dfDMJlCigobZmb2GinbKpg=; b=LmtQ76PwRbwk02CIhT2E4EeFYuYbZcQQF3YsObpVDIvuCgc/5lH9QhsyNW928zTuLn YXRarWG188gd2nXyUGHA1DQ/EXPfzNLAwkrhCUNy5cFyg3l3MV4/wY/EumlxXSaNO9hp MTNCVesgbc77rcgUC/IKyHnXuFV22APxKMZ3DwFUG9NPN3BI2BykkbsdAzDisJ5QqHbV 1g3BMIf77My13KsGffJ8mAF3jZlQAiD46QRUhzgVSsfQ04QzO2bubhcmEzGAcXeNXjZu AQNgmvykLfyeZmAijflRQoXaX/lV8ugt2RAoA9AyxbSX3PCyn0LYSVbI/mbjps/8Hxzs doUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=oe7uC84Wfo2F2+TNaWTi4dfDMJlCigobZmb2GinbKpg=; b=TQ74Vgzi0zm4F9leHr5NQQZ7Ln/gziwlwoAAqrvhurjmg8uX6FUJM+OCIVsWgEnme1 k+WL+Prc+/aDDCEIC/SRsZRKThI2sxT0uw1YbX9qaPvqTg9t6UOyk4DUc0F2hntHevmf M3bZ1z1UoiRFcWEUOyuVEI8gkTTboAypmRjyvWUmERCt1jiJAWaimij+p02MKTWkzRlB N+lvFfq8lJ48hRVH6M7eBdpxgtO/02PalC6gdCeVa9TK4iXk6SWVQIC2euZTU01vHstm lb78IH8UxbaQtJ/DMhQEKvWewv+BodmHi+a8qXAkMN2gGqtkY2eVf7lCi7+l1UX5xs+A qCXA== X-Gm-Message-State: AA+aEWZZFJRWqwvgXY4me3o876XYN3thXOfwNbT0xA26snT6ZEKoy+qp VZp/WnMjbRPHWzlRtgCZtgFJ4wVvWqw= X-Google-Smtp-Source: AFSGD/UYcmFUXjwaEncGsr3xiJuIM/ho+jueumqFB1T0aNY7NSQhL4xwxpH7ihkKX4/W6zWC6sPIZw== X-Received: by 2002:a5e:8b05:: with SMTP id g5mr13642845iok.144.1543895192561; Mon, 03 Dec 2018 19:46:32 -0800 (PST) Received: from ola-842mrw1.ad.garmin.com ([204.77.163.55]) by smtp.gmail.com with ESMTPSA id q23sm6216824ioi.66.2018.12.03.19.46.31 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 03 Dec 2018 19:46:31 -0800 (PST) From: Joshua Watt X-Google-Original-From: Joshua Watt To: openembedded-core@lists.openembedded.org, bitbake-devel@lists.openembedded.org Date: Mon, 3 Dec 2018 21:42:40 -0600 Message-Id: <20181204034245.25461-13-JPEWhacker@gmail.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181204034245.25461-1-JPEWhacker@gmail.com> References: <20180809220840.26697-1-JPEWhacker@gmail.com> <20181204034245.25461-1-JPEWhacker@gmail.com> MIME-Version: 1.0 Subject: [PATCH v3 12/17] bitbake: runqueue: Pass dependency ID to task X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Dec 2018 03:46:32 -0000 Content-Transfer-Encoding: 8bit The dependency ID is now passed to the task in the BB_DEPID variable [YOCTO #13030] Signed-off-by: Joshua Watt --- bitbake/bin/bitbake-worker | 7 ++++--- bitbake/lib/bb/runqueue.py | 10 ++++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker index 41ef6d848ac..9650c954359 100755 --- a/bitbake/bin/bitbake-worker +++ b/bitbake/bin/bitbake-worker @@ -136,7 +136,7 @@ def sigterm_handler(signum, frame): os.killpg(0, signal.SIGTERM) sys.exit() -def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskhash, appends, taskdepdata, extraconfigdata, quieterrors=False, dry_run_exec=False): +def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskhash, depid, appends, taskdepdata, extraconfigdata, quieterrors=False, dry_run_exec=False): # We need to setup the environment BEFORE the fork, since # a fork() or exec*() activates PSEUDO... @@ -235,6 +235,7 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha the_data = bb_cache.loadDataFull(fn, appends) the_data.setVar('BB_TASKHASH', taskhash) + the_data.setVar('BB_DEPID', depid) bb.utils.set_process_name("%s:%s" % (the_data.getVar("PN"), taskname.replace("do_", ""))) @@ -425,10 +426,10 @@ class BitbakeWorker(object): sys.exit(0) def handle_runtask(self, data): - fn, task, taskname, taskhash, quieterrors, appends, taskdepdata, dry_run_exec = pickle.loads(data) + fn, task, taskname, taskhash, depid, quieterrors, appends, taskdepdata, dry_run_exec = pickle.loads(data) workerlog_write("Handling runtask %s %s %s\n" % (task, fn, taskname)) - pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, taskhash, appends, taskdepdata, self.extraconfigdata, quieterrors, dry_run_exec) + pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, taskhash, depid, appends, taskdepdata, self.extraconfigdata, quieterrors, dry_run_exec) self.build_pids[pid] = task self.build_pipes[pid] = runQueueWorkerPipe(pipein, pipeout) diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 32dcd84e175..c5e4573b278 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -2034,6 +2034,7 @@ class RunQueueExecuteTasks(RunQueueExecute): taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn] taskhash = self.rqdata.get_task_hash(task) + depid = self.rqdata.get_task_depid(task) if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not (self.cooker.configuration.dry_run or self.rqdata.setscene_enforce): if not mc in self.rq.fakeworker: try: @@ -2043,10 +2044,10 @@ class RunQueueExecuteTasks(RunQueueExecute): self.rq.state = runQueueFailed self.stats.taskFailed() return True - self.rq.fakeworker[mc].process.stdin.write(b"" + pickle.dumps((taskfn, task, taskname, taskhash, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"") + self.rq.fakeworker[mc].process.stdin.write(b"" + pickle.dumps((taskfn, task, taskname, taskhash, depid, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"") self.rq.fakeworker[mc].process.stdin.flush() else: - self.rq.worker[mc].process.stdin.write(b"" + pickle.dumps((taskfn, task, taskname, taskhash, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"") + self.rq.worker[mc].process.stdin.write(b"" + pickle.dumps((taskfn, task, taskname, taskhash, depid, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"") self.rq.worker[mc].process.stdin.flush() self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True) @@ -2462,13 +2463,14 @@ class RunQueueExecuteScenequeue(RunQueueExecute): taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn] taskhash = self.rqdata.get_task_hash(task) + depid = self.rqdata.get_task_depid(task) if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run: if not mc in self.rq.fakeworker: self.rq.start_fakeworker(self, mc) - self.rq.fakeworker[mc].process.stdin.write(b"" + pickle.dumps((taskfn, task, taskname, taskhash, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"") + self.rq.fakeworker[mc].process.stdin.write(b"" + pickle.dumps((taskfn, task, taskname, taskhash, depid, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"") self.rq.fakeworker[mc].process.stdin.flush() else: - self.rq.worker[mc].process.stdin.write(b"" + pickle.dumps((taskfn, task, taskname, taskhash, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"") + self.rq.worker[mc].process.stdin.write(b"" + pickle.dumps((taskfn, task, taskname, taskhash, depid, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"") self.rq.worker[mc].process.stdin.flush() self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True) -- 2.19.1