diff options
Diffstat (limited to 'qpid/python')
| -rw-r--r-- | qpid/python/qpid/compat.py | 1 | ||||
| -rw-r--r-- | qpid/python/qpid/selector.py | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/qpid/python/qpid/compat.py b/qpid/python/qpid/compat.py index 12966c2383..89e378791e 100644 --- a/qpid/python/qpid/compat.py +++ b/qpid/python/qpid/compat.py @@ -105,6 +105,7 @@ if hasattr(_select_mod, "poll") and not _is_patched: return (rfds, wfds, xfds) else: if tuple(sys.version_info[0:2]) < (2, 4): + from select import error as SelectError from select import select as old_select def select(rlist, wlist, xlist, timeout=None): return old_select(list(rlist), list(wlist), list(xlist), timeout) diff --git a/qpid/python/qpid/selector.py b/qpid/python/qpid/selector.py index d2f4c1fc88..719dd84893 100644 --- a/qpid/python/qpid/selector.py +++ b/qpid/python/qpid/selector.py @@ -17,7 +17,7 @@ # under the License. # import atexit, time, errno, os -from compat import select, set, selectable_waiter +from compat import select, SelectError, set, selectable_waiter from threading import Thread, Lock class Acceptor: @@ -125,9 +125,9 @@ class Selector: timeout = max(0, wakeup - time.time()) rd, wr, ex = select(self.reading, self.writing, (), timeout) break - except Exception, (err, strerror): + except SelectError, e: # Repeat the select call if we were interrupted. - if err == errno.EINTR: + if e[0] == errno.EINTR: continue else: raise |
