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 | |
parent | bfe4bec8adfc50106406ef8c097075a2e507a7eb (diff) | |
download | openembedded-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.py | 4 |
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) |