diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index a1182ef461..1f4174f77f 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -1986,8 +1986,6 @@ class CookerParser(object): self.total = len(filelist) self.current = 0 - self.num_processes = int(self.cfgdata.getVar("BB_NUMBER_PARSE_THREADS", True) or - multiprocessing.cpu_count()) self.process_names = [] self.bb_cache = bb.cache.Cache(self.cfgdata, self.cfghash, cooker.caches_array) @@ -2002,6 +2000,9 @@ class CookerParser(object): self.toparse = self.total - len(self.fromcache) self.progress_chunk = max(self.toparse / 100, 1) + self.num_processes = min(int(self.cfgdata.getVar("BB_NUMBER_PARSE_THREADS", True) or + multiprocessing.cpu_count()), len(self.willparse)) + self.start() self.haveshutdown = False