8000 Fix _ProactorWritePipeTransport._pipe_closed() · python/asyncio@35db74f · GitHub
[go: up one dir, main page]

Skip to content
This repository was archived by the owner on Nov 23, 2017. It is now read-only.

Commit 35db74f

Browse files
committed
Fix _ProactorWritePipeTransport._pipe_closed()
Do nothing if the pipe is already closed. _loop_writing() may call _force_close() when it gets ConnectionResetError.
1 parent fd35727 commit 35db74f

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

asyncio/proactor_events.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,9 +304,12 @@ def _pipe_closed(self, fut):
304304
if fut.cancelled():
305305
# the transport has been closed
306306
return
307+
assert fut.result() == b''
308+
if self._closing:
309+
assert self._read_fut is None
310+
return
307311
assert fut is self._read_fut, (fut, self._read_fut)
308312
self._read_fut = None
309-
assert fut.result() == b''
310313
if self._write_fut is not None:
311314
self._force_close(exc)
312315
else:

0 commit comments

Comments
 (0)
0