From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 24 Oct 2022 16:26:32 +0000 (-0700) Subject: [3.11] GH-98539: fix ref cycle in `_SSLProtocolTransport` after close (GH-98540... X-Git-Tag: v3.11.1~225 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bd8b32b519055b5411e1954698e596d728fc848e;p=thirdparty%2FPython%2Fcpython.git [3.11] GH-98539: fix ref cycle in `_SSLProtocolTransport` after close (GH-98540) (#98551) GH-98539: fix ref cycle in `_SSLProtocolTransport` after close (GH-98540) (cherry picked from commit 62bf5d8d0a36112619436a813ceefb7e4af52c24) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> --- diff --git a/Lib/asyncio/sslproto.py b/Lib/asyncio/sslproto.py index de00953cc1d0..5cb5cd35883f 100644 --- a/Lib/asyncio/sslproto.py +++ b/Lib/asyncio/sslproto.py @@ -107,8 +107,11 @@ class _SSLProtocolTransport(transports._FlowControlMixin, protocol's connection_lost() method will (eventually) called with None as its argument. """ - self._closed = True - self._ssl_protocol._start_shutdown() + if not self._closed: + self._closed = True + self._ssl_protocol._start_shutdown() + else: + self._ssl_protocol = None def __del__(self, _warnings=warnings): if not self._closed: