summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/build.py
diff options
context:
space:
mode:
authorChris Larson <chris_larson@mentor.com>2010-09-10 11:34:39 -0700
committerRichard Purdie <rpurdie@linux.intel.com>2011-01-04 14:46:36 +0000
commitc90bfa57f5368ff833dc0a39c010a13df8c3b54c (patch)
treecd823bf6fb7fb92b10cf77172788f17516afc836 /bitbake/lib/bb/build.py
parentbfe4bec8adfc50106406ef8c097075a2e507a7eb (diff)
downloadpoky-c90bfa57f5368ff833dc0a39c010a13df8c3b54c.tar.gz
Fix bitbake -k issue introduced by build exception cleanup
A SystemExit from a python function wasn't being raised as a FuncFailed, which resulted in it not being caught by the exception handlers in the runqueue for the worker process, which resulted in a SystemExit exit, rather than os._exit, which causes all manner of problems when used in a forked process. This fixes it by ensuring we raise a FuncFailed when seeing exceptions which aren't instances of Exception. (Bitbake rev: dafe92fe9f387450d9f9e9ff41c99388998b7495) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'bitbake/lib/bb/build.py')
-rw-r--r--bitbake/lib/bb/build.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index e800d5cf08..7061cee20d 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -178,8 +178,8 @@ def exec_func_python(func, d, runfile, logfile):
178 comp = utils.better_compile(tmp, func, bbfile) 178 comp = utils.better_compile(tmp, func, bbfile)
179 try: 179 try:
180 utils.better_exec(comp, {"d": d}, tmp, bbfile) 180 utils.better_exec(comp, {"d": d}, tmp, bbfile)
181 except Exception as exc: 181 except:
182 if isinstance(exc, (bb.parse.SkipPackage, bb.build.FuncFailed)): 182 if sys.exc_info()[0] in (bb.parse.SkipPackage, bb.build.FuncFailed):
183 raise 183 raise
184 184
185 raise FuncFailed(func, d, logfile) 185 raise FuncFailed(func, d, logfile)