summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2012-04-08 23:37:19 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2012-04-08 23:37:19 (GMT)
commitc0aa9eeb90204b8a67a610180c003c182d1691aa (patch)
tree4f02fd5d9c3ecdc1ca9ee2e0c3e7231236a6d0ec /Lib
parentf18d6f3f443bdfe3f349b2f49231a3c08a5b2d3f (diff)
downloadcpython-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.py4
-rw-r--r--Lib/test/test_socketserver.py2
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)