diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/asyncore.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Lib/asyncore.py b/Lib/asyncore.py index 7b922a98cc..7f06e43e71 100644 --- a/Lib/asyncore.py +++ b/Lib/asyncore.py @@ -51,7 +51,7 @@ import socket import sys import time import os -from errno import EALREADY, EINPROGRESS, EWOULDBLOCK, ECONNRESET, \ +from errno import EALREADY, EINPROGRESS, EWOULDBLOCK, ECONNRESET, EINVAL, \ ENOTCONN, ESHUTDOWN, EINTR, EISCONN, EBADF, ECONNABORTED, errorcode try: @@ -333,8 +333,8 @@ class dispatcher: def connect(self, address): self.connected = False err = self.socket.connect_ex(address) - # XXX Should interpret Winsock return values - if err in (EINPROGRESS, EALREADY, EWOULDBLOCK): + if err in (EINPROGRESS, EALREADY, EWOULDBLOCK) \ + or err == EINVAL and os.name in ('nt', 'ce'): return if err in (0, EISCONN): self.addr = address |