summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/siggen.py
diff options
context:
space:
mode:
authorJianxun Zhang <jianxun.zhang@linux.intel.com>2016-12-21 12:27:37 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-17 11:29:28 +0000
commit7eb02e837ed253a2ae69023595c25660b4d56b7c (patch)
tree3eb6a36ac22a10787419b7cb369dfc4ba3bf2e55 /bitbake/lib/bb/siggen.py
parent62591d97221714678a3a02c5c42fffe9e538f5f9 (diff)
downloadpoky-7eb02e837ed253a2ae69023595c25660b4d56b7c.tar.gz
bitbake: use multiple processes to dump signatures.
This change significantly shortens the time on reparsing stage of '-S' option. Each file is reparsed and then dumped within a dedicated process. The maximum number of the running processes is not greater than the value of BB_NUMBER_PARSE_THREADS if it is set. The dump_sigs() in class SignatureGeneratorBasic is _replaced_ by a new dump_sigfn() interface, so calls from the outside and subclasses are dispatched to the implementation in the base class of SignatureGeneratorBasic. Fixes [YOCTO #10352] (Bitbake rev: 99d3703edd77a21770b366c6ad65a3c0f5183493) Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/siggen.py')
-rw-r--r--bitbake/lib/bb/siggen.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index 4226c80c85..3ceeef1ccc 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -307,8 +307,8 @@ class SignatureGeneratorBasic(SignatureGenerator):
307 pass 307 pass
308 raise err 308 raise err
309 309
310 def dump_sigs(self, dataCaches, options): 310 def dump_sigfn(self, fn, dataCaches, options):
311 for fn in self.taskdeps: 311 if fn in self.taskdeps:
312 for task in self.taskdeps[fn]: 312 for task in self.taskdeps[fn]:
313 tid = fn + ":" + task 313 tid = fn + ":" + task
314 (mc, _, _) = bb.runqueue.split_tid(tid) 314 (mc, _, _) = bb.runqueue.split_tid(tid)