diff options
-rw-r--r-- | Lib/asyncore.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Lib/asyncore.py b/Lib/asyncore.py index edb1c7b..fbbee29 100644 --- a/Lib/asyncore.py +++ b/Lib/asyncore.py @@ -56,6 +56,8 @@ import os from errno import EALREADY, EINPROGRESS, EWOULDBLOCK, ECONNRESET, EINVAL, \ ENOTCONN, ESHUTDOWN, EINTR, EISCONN, EBADF, ECONNABORTED, errorcode +DISCONNECTED = frozenset((ECONNRESET, ENOTCONN, ESHUTDOWN, ECONNABORTED)) + try: socket_map except NameError: @@ -364,7 +366,7 @@ class dispatcher: except socket.error as why: if why.args[0] == EWOULDBLOCK: return 0 - elif why.args[0] in (ECONNRESET, ENOTCONN, ESHUTDOWN, ECONNABORTED): + elif why.args[0] in DISCONNECTED: self.handle_close() return 0 else: @@ -382,7 +384,7 @@ class dispatcher: return data except socket.error as why: # winsock sometimes throws ENOTCONN - if why.args[0] in [ECONNRESET, ENOTCONN, ESHUTDOWN, ECONNABORTED]: + if why.args[0] in DISCONNECTED: self.handle_close() return b'' else: |