diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2007-08-18 10:45:49 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2007-08-18 10:45:49 +0000 |
commit | 048a1784c4050ca68f5973fa106c785cad8c5037 (patch) | |
tree | c4fb63c390ac70fc8d5af1b92bb79ec9a1de6093 | |
parent | cf2a814cfe7255ba35022ee981ded4abe7b92c73 (diff) | |
download | bitbake-048a1784c4050ca68f5973fa106c785cad8c5037.tar.gz |
cookey.py: Clear the terminal TOSTOP flag if set (and warn the user)
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | lib/bb/cooker.py | 10 |
2 files changed, 11 insertions, 0 deletions
@@ -32,6 +32,7 @@ Changes in Bitbake 1.8.x: - Sort digraph output to make builds more reproducible - Split expandKeys into two for loops to benefit from the expand_cache (12% speedup) - runqueue.py: Fix idepends handling to avoid dependency errors + - Clear the terminal TOSTOP flag if set (and warn the user) Changes in Bitbake 1.8.6: - Correctly redirect stdin when forking diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 955fbb434..6ee6f07d4 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -73,6 +73,16 @@ class BBCooker: self.configuration.event_data = bb.data.createCopy(self.configuration.data) bb.data.update_data(self.configuration.event_data) + # + # TOSTOP must not be set or our children will hang when they output + # + import termios + tcattr = termios.tcgetattr(sys.stdout.fileno()) + if tcattr[3] & termios.TOSTOP: + bb.msg.note(1, bb.msg.domain.Build, "The terminal had the TOSTOP bit set, clearing...") + tcattr[3] = tcattr[3] & ~termios.TOSTOP + termios.tcsetattr(sys.stdout.fileno(), termios.TCSANOW, tcattr) + def tryBuildPackage(self, fn, item, task, the_data, build_depends): """ Build one task of a package, optionally build following task depends |