Fix the patch for issue #7978: select() raises select.error before 3.3, not OSError.

This commit is contained in:
Antoine Pitrou 2012-04-09 01:41:34 +02:00
parent 467a5c4067
commit b5588c3f94
2 changed files with 3 additions and 3 deletions

View File

@ -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:

View File

@ -243,7 +243,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)