diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2012-04-08 23:37:19 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2012-04-08 23:37:19 (GMT) |
commit | c0aa9eeb90204b8a67a610180c003c182d1691aa (patch) | |
tree | 4f02fd5d9c3ecdc1ca9ee2e0c3e7231236a6d0ec /Lib | |
parent | f18d6f3f443bdfe3f349b2f49231a3c08a5b2d3f (diff) | |
download | cpython-c0aa9eeb90204b8a67a610180c003c182d1691aa.zip cpython-c0aa9eeb90204b8a67a610180c003c182d1691aa.tar.gz cpython-c0aa9eeb90204b8a67a610180c003c182d1691aa.tar.bz2 |
Fix the patch for issue #7978: select() raises select.error before 3.3, not OSError.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/socketserver.py | 4 | ||||
-rw-r--r-- | Lib/test/test_socketserver.py | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/Lib/socketserver.py b/Lib/socketserver.py index c8a8db1..adf9f38 100644 --- a/Lib/socketserver.py +++ b/Lib/socketserver.py @@ -153,8 +153,8 @@ def _eintr_retry(func, *args): while True: try: return func(*args) - except OSError as e: - if e.errno != errno.EINTR: + except (OSError, select.error) as e: + if e.args[0] != errno.EINTR: raise class BaseServer: diff --git a/Lib/test/test_socketserver.py b/Lib/test/test_socketserver.py index 353f8ff..ca23301 100644 --- a/Lib/test/test_socketserver.py +++ b/Lib/test/test_socketserver.py @@ -244,7 +244,7 @@ class SocketServerTest(unittest.TestCase): self.called += 1 if self.called == 1: # raise the exception on first call - raise OSError(errno.EINTR, os.strerror(errno.EINTR)) + raise select.error(errno.EINTR, os.strerror(errno.EINTR)) else: # Return real select value for consecutive calls return old_select(*args) |