Index: Lib/socket.py =================================================================== --- Lib/socket.py (revision 67428) +++ Lib/socket.py (working copy) @@ -238,10 +238,15 @@ def close(self): if self.closed: return + # http://bugs.python.org/issue3826 - Closed SocketIO's from makefile() + # should not prevent the underlying socket from being closed. + self._sock._decref_socketios() + self._sock = None io.RawIOBase.close(self) def __del__(self): - self._sock._decref_socketios() + if self._sock: + self._sock._decref_socketios() def getfqdn(name=''):