All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] knotty: Chain the WINCH signal handler in progressbar so any other handler is preserved and called
@ 2012-08-15 15:58 Richard Purdie
  0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2012-08-15 15:58 UTC (permalink / raw)
  To: bitbake-devel

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py
index 9f51823..34b5969 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
 





^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2012-08-15 16:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-15 15:58 [PATCH] knotty: Chain the WINCH signal handler in progressbar so any other handler is preserved and called Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.