[Python-Dev] socket timeouts fail w/ makefile()

Skip Montanaro skip@pobox.com
Thu, 20 Mar 2003 16:46:36 -0600


I discovered much to my chagrin today that the socket module's new timeout
capability doesn't play well with file objects as returned by a socket's
makefile method.  Tim O'Malley's timeoutsocket module avoids this problem by
implementing a simple file-like object directly on top of the socket without
calling makefile().  Is there some reason this approach wasn't adopted when
adding timeouts to the socket module?  I would think the greatest use of
timeouts would be using higher-level line-oriented modules like urllib and
ftplib.  In addition, since makefile() isn't always available, it seems
worthwhile to implement something in socket.py, thus making makefile()
universally available.

I filed a bug report about this issue earlier today in case people are
interested:

    http://www.python.org/sf/707074

Skip