1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 17:19:20 +00:00

cooker: pass back child exceptions to the server

(Bitbake rev: 0f68f8bcd0e0aa944f76f88a4a85c9bcc1e42bee)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Chris Larson
2010-11-29 08:06:30 -07:00
committed by Richard Purdie
parent 8faec0b672
commit 5bff22988c
+12 -6
View File
@@ -1017,8 +1017,12 @@ class CookerParser(object):
def worker(input, output, cfgdata):
signal.signal(signal.SIGINT, signal.SIG_IGN)
for filename, appends in iter(input.get, 'STOP'):
infos = bb.cache.Cache.parse(filename, appends, cfgdata)
output.put(infos)
try:
infos = bb.cache.Cache.parse(filename, appends, cfgdata)
except bb.parse.ParseError as exc:
output.put(exc)
else:
output.put(infos)
self.processes = []
for i in xrange(self.num_processes):
@@ -1070,10 +1074,12 @@ class CookerParser(object):
try:
if self.result_queue.empty() and self.fromcache:
filename, appends = self.fromcache.pop()
_, infos = self.bb_cache.load(filename, appends, self.cfgdata)
_, result = self.bb_cache.load(filename, appends, self.cfgdata)
parsed = False
else:
infos = self.result_queue.get()
result = self.result_queue.get()
if isinstance(result, Exception):
raise result
parsed = True
except KeyboardInterrupt:
self.shutdown(clean=False)
@@ -1086,9 +1092,9 @@ class CookerParser(object):
self.parsed += 1
else:
self.cached += 1
self.virtuals += len(infos)
self.virtuals += len(result)
for virtualfn, info in infos:
for virtualfn, info in result:
if info.skipped:
self.skipped += 1
else: