From 83bdfa08f7747466d0925323a7d94a26470fcd32 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 4 Feb 2014 08:57:48 +0100 Subject: [PATCH] asyncio: Fix _ProactorWritePipeTransport._pipe_closed() Do nothing if the pipe is already closed. _loop_writing() may call _force_close() when it gets ConnectionResetError. --- Lib/asyncio/proactor_events.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py index fb67155786..6b5707c713 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: -- 2.40.0