[gnome-continuous-yocto/gnomeostree-3.28-rocko: 2859/8267] classes/sstate.bbclass: Enable thread lock when checkstatus
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 2859/8267] classes/sstate.bbclass: Enable thread lock when checkstatus
- Date: Sat, 16 Dec 2017 23:49:16 +0000 (UTC)
commit f2053844958325496a9387874a8f3182400b71ca
Author: Aníbal Limón <anibal limon linux intel com>
Date: Tue Oct 4 11:45:53 2016 -0500
classes/sstate.bbclass: Enable thread lock when checkstatus
The checkstatus function fires an event to notify bitbake UI about
the progress of the task, this function is implemented using ThreadPool
and is causing event lose when multiple threads tries to fire an event
(writes over socket/fd).
[YOCTO #10330]
(From OE-Core rev: 6e0bb9d141438c0051c32b0d3a247915b71ccb82)
Signed-off-by: Aníbal Limón <anibal limon linux intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
meta/classes/sstate.bbclass | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 6f0c791..172384b 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -851,15 +851,19 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False):
if tasklist:
bb.event.fire(bb.event.ProcessStarted("Checking sstate mirror object availability",
len(tasklist)), d)
+
import multiprocessing
nproc = min(multiprocessing.cpu_count(), len(tasklist))
+ bb.event.enable_threadlock()
pool = oe.utils.ThreadedPool(nproc, len(tasklist),
worker_init=checkstatus_init, worker_end=checkstatus_end)
for t in tasklist:
pool.add_task(checkstatus, t)
pool.start()
pool.wait_completion()
+ bb.event.disable_threadlock()
+
bb.event.fire(bb.event.ProcessFinished("Checking sstate mirror object availability"), d)
if whitelist and missing:
bb.fatal('Required artifacts were unavailable - exiting')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]