diff options
author | Ian Ward <ian@excess.org> | 2013-12-26 18:23:38 -0500 |
---|---|---|
committer | Ian Ward <ian@excess.org> | 2013-12-26 18:23:38 -0500 |
commit | 125d312f3bda9b8a3096f3b287666b0487669d98 (patch) | |
tree | 6f75a4bfd8f346e01f09beb2aed43f16939e0e61 /urwid | |
parent | 6967d82561f3677d49ad2e8fd5c19c7cc1c53489 (diff) | |
download | urwid-125d312f3bda9b8a3096f3b287666b0487669d98.tar.gz |
fix Terminal: retry on select interrupted
Diffstat (limited to 'urwid')
-rw-r--r-- | urwid/vterm.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/urwid/vterm.py b/urwid/vterm.py index 2cef39d..80aab66 100644 --- a/urwid/vterm.py +++ b/urwid/vterm.py @@ -1514,7 +1514,13 @@ class Terminal(Widget): return True def wait_and_feed(self, timeout=1.0): - select.select([self.master], [], [], timeout) + while True: + try: + select.select([self.master], [], [], timeout) + break + except select.error, e: + if e.args[0] != 4: + raise self.feed() def feed(self): |