From 4c4f714612d133dc51808ee5fe4b3ddc3d0681fa Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 15 Aug 2012 16:58:46 +0100 Subject: bitbake: knotty: Chain the WINCH signal handler in progressbar so any other handler is preserved and called (Bitbake rev: 7753e075dbeee471b9ceb34f1e3165aa656932ed) Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/knotty.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'bitbake/lib') diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py index 9f51823912..34b5969e6b 100644 --- a/bitbake/lib/bb/ui/knotty.py +++ b/bitbake/lib/bb/ui/knotty.py @@ -25,6 +25,7 @@ import sys import xmlrpclib import logging import progressbar +import signal import bb.msg from bb.ui import uihelper @@ -37,8 +38,21 @@ class BBProgress(progressbar.ProgressBar): widgets = [progressbar.Percentage(), ' ', progressbar.Bar(), ' ', progressbar.ETA()] + try: + self._resize_default = signal.getsignal(signal.SIGWINCH) + except: + self._resize_default = None progressbar.ProgressBar.__init__(self, maxval, [self.msg + ": "] + widgets) + def _handle_resize(self, signum, frame): + progressbar.ProgressBar._handle_resize(self, signum, frame) + if self._resize_default: + self._resize_default(signum, frame) + def finish(self): + progressbar.ProgressBar.finish(self) + if self._resize_default: + signal.signal(signal.SIGWINCH, self._resize_default) + class NonInteractiveProgress(object): fobj = sys.stdout -- cgit v1.2.3-54-g00ecf