[issue6706] asyncore's accept() is broken

Antoine Pitrou report at bugs.python.org
Sat Sep 25 12:54:45 CEST 2010


Antoine Pitrou <pitrou at free.fr> added the comment:

> EAGAIN can be raised too. I never experienced this error condition 
> myself in pyftpdlib

>From the accept() man page:

EAGAIN or EWOULDBLOCK
              The  socket  is  marked  nonblocking and no connections are present to be accepted.
              POSIX.1-2001 allows either error to be returned for this case, and does not require
              these  constants to have the same value, so a portable application should check for
              both possibilities.

> The resulting address can be None, which means that the connection 
> didn't take place.

The only way this can happen is if the accept() system call returned 0 in addrlen, which sounds rather strange. I'm not convinced hiding operating system bugs is a good idea.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue6706>
_______________________________________


More information about the Python-bugs-list mailing list