aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bb
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-09-29 22:57:13 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-10-02 09:55:42 +0100
commitfdc2d3df35ad1282c4ad85d76519e395b023a563 (patch)
treecf47392a300f270c363cd0faa07039f253e02ac8 /lib/bb
parent69c622b744d987b48f7dd805ead973ad90479e4e (diff)
downloadbitbake-fdc2d3df35ad1282c4ad85d76519e395b023a563.tar.gz
build: Handle SystemExit in python tasks correctly
If a python task fails with sys.exit(), we currently see no TaskFailed event. The high level code does detect the exit code and fail the task but it can leave the UI inconsistent with log output. Fix this be intercepting SystemExit explicitly. This makes python task failures consistent with shell task failures. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 9eee9fd4f2f96789ad2b037e74d561bdc1426856) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb')
-rw-r--r--lib/bb/build.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/bb/build.py b/lib/bb/build.py
index 39e7dba02..ad031cc70 100644
--- a/lib/bb/build.py
+++ b/lib/bb/build.py
@@ -694,7 +694,7 @@ def _exec_task(fn, task, d, quieterr):
except bb.BBHandledException:
event.fire(TaskFailed(task, fn, logfn, localdata, True), localdata)
return 1
- except Exception as exc:
+ except (Exception, SystemExit) as exc:
if quieterr:
event.fire(TaskFailedSilent(task, fn, logfn, localdata), localdata)
else: