| Submitter | Jason Wessel |
|---|---|
| Date | Sept. 17, 2012, 10:43 p.m. |
| Message ID | <1347921818-60562-9-git-send-email-jason.wessel@windriver.com> |
| Download | mbox | patch |
| Permalink | /patch/36673/ |
| State | New |
| Headers | show |
Comments
Patch
diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 2d58ebe..73327b5 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -257,7 +257,11 @@ class StdinMgr: def poll(self): if not self.stdinbackup: return False - return select.select([sys.stdin], [], [], 0) == ([sys.stdin], [], []) + try: + ret = select.select([sys.stdin], [], [], 0) == ([sys.stdin], [], []) + except: + return False + return ret def restore(self): if self.stdinbackup:
Under a high load and while resizing the terminal window, I received the following traceback: Traceback (most recent call last): File "/bitbake/bin//bitbake", line 263, in <module> ret = main() File "/bitbake/bin//bitbake", line 252, in main return server.launchUI(ui_main, server_connection.connection, server_connection.events) File "/bitbake/lib/bb/server/process.py", line 269, in launchUI return bb.cooker.server_main(self.cooker, uifunc, *args) File "/bitbake/lib/bb/cooker.py", line 1407, in server_main ret = func(*args) File "/bitbake/lib/bb/ui/knotty.py", line 385, in main if stdin_mgr.poll(): error: (4, 'Interrupted system call') Interrupted system calls from a sigwinch are certainly possible and the right thing to do is just restart the system call, or in this case, punt and wait until the next poll cycle. (LOCAL REV: NOT UPSTREAM) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> --- lib/bb/ui/knotty.py | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)