# HG changeset patch # Parent fb907ee4fdfa47b49e10c8a2f9990721d4d8823b diff -r fb907ee4fdfa Lib/multiprocessing/connection.py --- a/Lib/multiprocessing/connection.py Thu Apr 05 00:04:20 2012 +0200 +++ b/Lib/multiprocessing/connection.py Sat Apr 07 20:11:38 2012 +0100 @@ -591,10 +591,7 @@ def accept(self): s, self._last_accepted = self._socket.accept() - fd = duplicate(s.fileno()) - conn = Connection(fd) - s.close() - return conn + return Connection(s.detach()) def close(self): self._socket.close() @@ -609,9 +606,7 @@ family = address_type(address) with socket.socket( getattr(socket, family) ) as s: s.connect(address) - fd = duplicate(s.fileno()) - conn = Connection(fd) - return conn + return Connection(s.detach()) # # Definitions for connections based on named pipes @@ -665,7 +660,7 @@ def _finalize_pipe_listener(queue, address): sub_debug('closing listener with address=%r', address) for handle in queue: - close(handle) + win32.CloseHandle(handle) def PipeClient(address): ''' @@ -885,7 +880,3 @@ raise if timeout is not None: timeout = deadline - time.time() - - -# Late import because of circular import -from multiprocessing.forking import duplicate, close