Timeout with socket.makefile()

The question was asked, 'without a socket timeout in pg8000, how can we tell if there's been a network failure or similar problem?'.

The reason the socket timeout was removed was this sentence in the docs for socket.makefile():

The socket must be in blocking mode (it can not have a timeout).

However in the Python 3.4 docs it says:

The socket must be in blocking mode; it can have a timeout, but the file object’s internal buffer may end up in a inconsistent state if a timeout occurs.

So as long as we throw away the file object if a timeout occurs, we're okay to have a timeout under 3.4.