diff options
Diffstat (limited to 'bitbake/lib/bb/ui/knotty.py')
| -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 87e873d644..e70c246400 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 |
