Commit 41ed958e authored by Victor Stinner's avatar Victor Stinner

Issue #23243: Fix asyncio._UnixWritePipeTransport.close()

Do nothing if the transport is already closed. Before it was not possible to
close the transport twice.
parent 7e222f41
......@@ -516,7 +516,7 @@ class _UnixWritePipeTransport(transports._FlowControlMixin,
self._loop.call_soon(self._call_connection_lost, None)
def close(self):
if not self._closing:
if self._pipe is not None and not self._closing:
# write_eof is all what we needed to close the write pipe
self.write_eof()
......
......@@ -766,6 +766,9 @@ class UnixWritePipeTransportTests(test_utils.TestCase):
tr.close()
tr.write_eof.assert_called_with()
# closing the transport twice must not fail
tr.close()
def test_close_closing(self):
tr = unix_events._UnixWritePipeTransport(
self.loop, self.pipe, self.protocol)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment