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