From: Richard Purdie Date: Sun, 9 Mar 2014 16:58:01 +0000 (-0700) Subject: knotty: Deal with exceptions not resetting terminal configuration X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e1d89166f2dfe46412ff9a5610dd57b0cef74fe3;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git knotty: Deal with exceptions not resetting terminal configuration When an exception occurred, the terminal parameters (such as echo) may not be reset correctly. This change ensures they do get atexit time in all cases, avoiding the terminal corruption issues that could sometimes occur. Signed-off-by: Richard Purdie --- diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index c1ee9f5269d..3dada8eac6d 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -31,6 +31,7 @@ import time import fcntl import struct import copy +import atexit from bb.ui import uihelper logger = logging.getLogger("BitBake") @@ -303,6 +304,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): taskfailures = [] termfilter = tf(main, helper, console, format) + atexit.register(termfilter.finish) while True: try: @@ -536,6 +538,4 @@ def main(server, eventHandler, params, tf = TerminalFilter): if return_value == 0: return_value = 1 - termfilter.finish() - return return_value