Merged revisions 84284 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84284 | giampaolo.rodola | 2010-08-23 23:53:41 +0200 (lun, 23 ago 2010) | 1 line

  fix issue 658749: correctly interprets asyncore's windows errors on connect()
........
This commit is contained in:
Giampaolo Rodolà 2010-08-23 21:56:11 +00:00
parent ff6d5c044a
commit 3fac43f89f
2 changed files with 6 additions and 3 deletions

View File

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

View File

@ -95,6 +95,9 @@ C-API
Library
-------
- Issue #658749: asyncore's connect() method now correctly interprets winsock
errors.
- Issue #9214: Set operations on KeysView or ItemsView in the collections
module now correctly return a set. (Patch by Eli Bendersky.)