Kill the uncaught exception handler

We now wrap the main() in a try/except, ensuring that both the main portion of
bin/bitbake and the UI raising an exception will be shown to the user.  For
the server and workers, we can ensure in the server itself that exceptions are
handled correctly.

(Bitbake rev: 240d4a7ae80a6636c302ae84266ddfed7a7fcedd)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Chris Larson 2010-12-10 10:51:47 -05:00 committed by Richard Purdie
parent 6f80455777
commit 3d3af810fa
1 changed files with 6 additions and 12 deletions

View File

@ -57,17 +57,6 @@ class BBConfiguration(object):
self.pkgs_to_build = []
def print_exception(*exc_info):
if not isinstance(exc_info[0], SystemExit):
if isinstance(exc_info[0], KeyboardInterrupt):
logger.error("User aborted.")
else:
logger.error("Uncaught exception: ", exc_info=exc_info)
sys.exit(1)
sys.excepthook = print_exception
# Display bitbake/OE warnings via the BitBake.Warnings logger, ignoring others"""
warnlog = logging.getLogger("BitBake.Warnings")
_warnings_showwarning = warnings.showwarning
@ -216,5 +205,10 @@ Default BBFILES are the .bb files in the current directory.""")
server_connection.terminate()
if __name__ == "__main__":
ret = main()
try:
ret = main()
except Exception:
ret = 1
import traceback
traceback.print_exc(5)
sys.exit(ret)