mirror of
https://github.com/python/cpython.git
synced 2025-08-27 12:16:04 +00:00
gh-115514: Fix incomplete writes after close while using ssl in asyncio(#128037)
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
This commit is contained in:
parent
853a6b7de2
commit
4e38eeafe2
5 changed files with 213 additions and 5 deletions
|
@ -1185,10 +1185,13 @@ class _SelectorSocketTransport(_SelectorTransport):
|
|||
return True
|
||||
|
||||
def _call_connection_lost(self, exc):
|
||||
super()._call_connection_lost(exc)
|
||||
if self._empty_waiter is not None:
|
||||
self._empty_waiter.set_exception(
|
||||
ConnectionError("Connection is closed by peer"))
|
||||
try:
|
||||
super()._call_connection_lost(exc)
|
||||
finally:
|
||||
self._write_ready = None
|
||||
if self._empty_waiter is not None:
|
||||
self._empty_waiter.set_exception(
|
||||
ConnectionError("Connection is closed by peer"))
|
||||
|
||||
def _make_empty_waiter(self):
|
||||
if self._empty_waiter is not None:
|
||||
|
@ -1203,7 +1206,6 @@ class _SelectorSocketTransport(_SelectorTransport):
|
|||
|
||||
def close(self):
|
||||
self._read_ready_cb = None
|
||||
self._write_ready = None
|
||||
super().close()
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue