[issue11721] socket.accept() with a timout socket creates bogus socket

Kristján Valur Jónsson report at bugs.python.org
Wed Mar 30 15:05:49 CEST 2011


Kristján Valur Jónsson <kristjan at ccpgames.com> added the comment:

I cannot see from the link to which branch that was committed, or what revision.  But I assume it is the default branch.  I can confirm that this appears to be fixed.

The corresponding defect has a long (and bothersome) discussion.  I am, however, surprised that this was not considered a "bug" and backported.

The "bug" is pretty clear:  socket.gettimeout() returns None, and yet socket.recv() returns in EWOULDBLOCK.  This is clearly against spec, since the gettimeout() == None means that the socket is supposed to be blocking.

I can agree with the fix (my number 1 suggestion) but I would have liked to see it done in socketmodule.c where the timeout semantics are all defined, rather than as a cludgy special case in socket.py

----------

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


More information about the Python-bugs-list mailing list