diff options
author | Mikko Rapeli <mikko.rapeli@bmw.de> | 2022-09-13 04:26:33 -1000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-09-16 17:53:22 +0100 |
commit | 870d4c950bce2abd3362d530233f4cbcda662392 (patch) | |
tree | 406b31ac448e6f856e2a2a379d8c40e88d8a7c9b /bitbake | |
parent | a18a0145111e557fc4aae9234fbe82aea4720ec5 (diff) | |
download | poky-870d4c950bce2abd3362d530233f4cbcda662392.tar.gz |
bitbake: event.py: ignore exceptions from stdout and sterr operations in atexit
When atexit functions run, stdout and stderr operations may fail, e.g.
when output is piped to less but has been exited by the user.
This removes error print from output of "bitbake -e sqlite3 | less"
if user presses "q" before bitbake has finished processing:
[Errno 32] Broken pipeError in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/home/builder/src/poky/bitbake/lib/bb/event.py", line 135, in print_ui_queue
sys.stdout.flush()
(Bitbake rev: 65cee11967f60c74fa89bb6d72f32135968a6b87)
Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 35167536c163eb6b7653cbcaad9f65b834d3e2f8)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/event.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index df020551e3..97668601a1 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py | |||
@@ -132,8 +132,14 @@ def print_ui_queue(): | |||
132 | if not _uiready: | 132 | if not _uiready: |
133 | from bb.msg import BBLogFormatter | 133 | from bb.msg import BBLogFormatter |
134 | # Flush any existing buffered content | 134 | # Flush any existing buffered content |
135 | sys.stdout.flush() | 135 | try: |
136 | sys.stderr.flush() | 136 | sys.stdout.flush() |
137 | except: | ||
138 | pass | ||
139 | try: | ||
140 | sys.stderr.flush() | ||
141 | except: | ||
142 | pass | ||
137 | stdout = logging.StreamHandler(sys.stdout) | 143 | stdout = logging.StreamHandler(sys.stdout) |
138 | stderr = logging.StreamHandler(sys.stderr) | 144 | stderr = logging.StreamHandler(sys.stderr) |
139 | formatter = BBLogFormatter("%(levelname)s: %(message)s") | 145 | formatter = BBLogFormatter("%(levelname)s: %(message)s") |