changeset: 76173:4298d6e79ecb branch: 2.7 parent: 76168:463fd270c5de user: Antoine Pitrou date: Mon Apr 09 01:41:34 2012 +0200 files: Lib/SocketServer.py Lib/test/test_socketserver.py description: Fix the patch for issue #7978: select() raises select.error before 3.3, not OSError. diff -r 463fd270c5de -r 4298d6e79ecb Lib/SocketServer.py --- a/Lib/SocketServer.py Mon Apr 09 01:15:06 2012 +0200 +++ b/Lib/SocketServer.py Mon Apr 09 01:41:34 2012 +0200 @@ -153,8 +153,8 @@ 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 -r 463fd270c5de -r 4298d6e79ecb Lib/test/test_socketserver.py --- a/Lib/test/test_socketserver.py Mon Apr 09 01:15:06 2012 +0200 +++ b/Lib/test/test_socketserver.py Mon Apr 09 01:41:34 2012 +0200 @@ -243,7 +243,7 @@ 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)

AltStyle によって変換されたページ (->オリジナル) /