summaryrefslogtreecommitdiff
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
parentbfe4bec8adfc50106406ef8c097075a2e507a7eb (diff)
downloadopenembedded-core-c90bfa57f5368ff833dc0a39c010a13df8c3b54c.tar.gz
openembedded-core-c90bfa57f5368ff833dc0a39c010a13df8c3b54c.tar.bz2
openembedded-core-c90bfa57f5368ff833dc0a39c010a13df8c3b54c.tar.xz
openembedded-core-c90bfa57f5368ff833dc0a39c010a13df8c3b54c.zip
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>
-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 e800d5cf0..7061cee20 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):
comp = utils.better_compile(tmp, func, bbfile)
try:
utils.better_exec(comp, {"d": d}, tmp, bbfile)
- except Exception as exc:
- if isinstance(exc, (bb.parse.SkipPackage, bb.build.FuncFailed)):
+ except:
+ if sys.exc_info()[0] in (bb.parse.SkipPackage, bb.build.FuncFailed):
raise
raise FuncFailed(func, d, logfile)