diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-09-10 10:02:08 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-09-11 22:39:19 +0100 |
commit | c2b40b0f6d062c5061b11b038fac3b7b1539c688 (patch) | |
tree | e39d92fd0aaf7f1599fd81e8b6fa6f54aad7c9c5 /bitbake/lib/bb/build.py | |
parent | 444592b763eccb336f5634432fc6bcf355d90f18 (diff) | |
download | poky-c2b40b0f6d062c5061b11b038fac3b7b1539c688.tar.gz |
bitbake: 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.
(Bitbake rev: 9eee9fd4f2f96789ad2b037e74d561bdc1426856)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/build.py')
-rw-r--r-- | bitbake/lib/bb/build.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py index ab3344c460..9862e8878e 100644 --- a/bitbake/lib/bb/build.py +++ b/bitbake/lib/bb/build.py | |||
@@ -694,7 +694,7 @@ def _exec_task(fn, task, d, quieterr): | |||
694 | except bb.BBHandledException: | 694 | except bb.BBHandledException: |
695 | event.fire(TaskFailed(task, fn, logfn, localdata, True), localdata) | 695 | event.fire(TaskFailed(task, fn, logfn, localdata, True), localdata) |
696 | return 1 | 696 | return 1 |
697 | except Exception as exc: | 697 | except (Exception, SystemExit) as exc: |
698 | if quieterr: | 698 | if quieterr: |
699 | event.fire(TaskFailedSilent(task, fn, logfn, localdata), localdata) | 699 | event.fire(TaskFailedSilent(task, fn, logfn, localdata), localdata) |
700 | else: | 700 | else: |