diff options
author | Chris Larson <chris_larson@mentor.com> | 2010-09-10 11:34:39 -0700 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2011-01-04 14:46:36 +0000 |
commit | c90bfa57f5368ff833dc0a39c010a13df8c3b54c (patch) | |
tree | cd823bf6fb7fb92b10cf77172788f17516afc836 /bitbake/lib/bb/build.py | |
parent | bfe4bec8adfc50106406ef8c097075a2e507a7eb (diff) | |
download | poky-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.py | 4 |
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) |