From: Victor Stinner Date: Tue, 4 Feb 2014 07:57:48 +0000 (+0100) Subject: asyncio: Fix _ProactorWritePipeTransport._pipe_closed() X-Git-Tag: v3.4.0rc1~96 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=83bdfa08f7747466d0925323a7d94a26470fcd32;p=thirdparty%2FPython%2Fcpython.git asyncio: Fix _ProactorWritePipeTransport._pipe_closed() Do nothing if the pipe is already closed. _loop_writing() may call _force_close() when it gets ConnectionResetError. --- diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py index fb671557860f..6b5707c71382 100644 --- a/Lib/asyncio/proactor_events.py +++ b/Lib/asyncio/proactor_events.py @@ -304,9 +304,12 @@ class _ProactorWritePipeTransport(_ProactorBaseWritePipeTransport): if fut.cancelled(): # the transport has been closed return + assert fut.result() == b'' + if self._closing: + assert self._read_fut is None + return assert fut is self._read_fut, (fut, self._read_fut) self._read_fut = None - assert fut.result() == b'' if self._write_fut is not None: self._force_close(exc) else: