diff options
Diffstat (limited to 'bitbake/lib/bb/ui')
-rw-r--r-- | bitbake/lib/bb/ui/knotty.py | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py index a3507afb7c..a91e4fd15c 100644 --- a/bitbake/lib/bb/ui/knotty.py +++ b/bitbake/lib/bb/ui/knotty.py | |||
@@ -380,14 +380,27 @@ _evt_list = [ "bb.runqueue.runQueueExitWait", "bb.event.LogExecTTY", "logging.Lo | |||
380 | "bb.event.BuildBase", "bb.build.TaskStarted", "bb.build.TaskSucceeded", "bb.build.TaskFailedSilent", | 380 | "bb.event.BuildBase", "bb.build.TaskStarted", "bb.build.TaskSucceeded", "bb.build.TaskFailedSilent", |
381 | "bb.build.TaskProgress", "bb.event.ProcessStarted", "bb.event.ProcessProgress", "bb.event.ProcessFinished"] | 381 | "bb.build.TaskProgress", "bb.event.ProcessStarted", "bb.event.ProcessProgress", "bb.event.ProcessFinished"] |
382 | 382 | ||
383 | def drain_events_errorhandling(eventHandler): | ||
384 | # We don't have logging setup, we do need to show any events we see before exiting | ||
385 | event = True | ||
386 | logger = bb.msg.logger_create('bitbake', sys.stdout) | ||
387 | while event: | ||
388 | event = eventHandler.waitEvent(0) | ||
389 | if isinstance(event, logging.LogRecord): | ||
390 | logger.handle(event) | ||
391 | |||
383 | def main(server, eventHandler, params, tf = TerminalFilter): | 392 | def main(server, eventHandler, params, tf = TerminalFilter): |
384 | 393 | ||
385 | if not params.observe_only: | 394 | try: |
386 | params.updateToServer(server, os.environ.copy()) | 395 | if not params.observe_only: |
396 | params.updateToServer(server, os.environ.copy()) | ||
387 | 397 | ||
388 | includelogs, loglines, consolelogfile, logconfigfile = _log_settings_from_server(server, params.observe_only) | 398 | includelogs, loglines, consolelogfile, logconfigfile = _log_settings_from_server(server, params.observe_only) |
389 | 399 | ||
390 | loglevel, _ = bb.msg.constructLogOptions() | 400 | loglevel, _ = bb.msg.constructLogOptions() |
401 | except bb.BBHandledException: | ||
402 | drain_events_errorhandling(eventHandler) | ||
403 | return 1 | ||
391 | 404 | ||
392 | if params.options.quiet == 0: | 405 | if params.options.quiet == 0: |
393 | console_loglevel = loglevel | 406 | console_loglevel = loglevel |