summaryrefslogtreecommitdiff
path: root/urwid
diff options
context:
space:
mode:
authorIan Ward <ian@excess.org>2013-12-26 18:23:38 -0500
committerIan Ward <ian@excess.org>2013-12-26 18:23:38 -0500
commit125d312f3bda9b8a3096f3b287666b0487669d98 (patch)
tree6f75a4bfd8f346e01f09beb2aed43f16939e0e61 /urwid
parent6967d82561f3677d49ad2e8fd5c19c7cc1c53489 (diff)
downloadurwid-125d312f3bda9b8a3096f3b287666b0487669d98.tar.gz
fix Terminal: retry on select interrupted
Diffstat (limited to 'urwid')
-rw-r--r--urwid/vterm.py8
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):