]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] [3.12] GH-106684: Close `asyncio.StreamWriter` when `asyncio.StreamWriter...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 10 Aug 2023 10:44:31 +0000 (03:44 -0700)
committerGitHub <noreply@github.com>
Thu, 10 Aug 2023 10:44:31 +0000 (16:14 +0530)
[3.12] GH-106684:  Close `asyncio.StreamWriter` when `asyncio.StreamWriter` is not closed by application (GH-107650) (GH-107656)

GH-106684: raise `ResourceWarning` when `asyncio.StreamWriter` is not closed (GH-107650)
(cherry picked from commit 41178e41995992bbe417f94bce158de93f9e3188)

(cherry picked from commit 7853c769067699c79c0d4fe4967e9d8f8b8b0a5e)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Lib/asyncio/streams.py
Misc/NEWS.d/next/Library/2023-08-05-05-10-41.gh-issue-106684.P9zRXb.rst [new file with mode: 0644]

index 560ad8a8510e55c04d351a6059494b36759c3994..3d577f127041aa2e948caa7b90ebfcd031bc382b 100644 (file)
@@ -391,6 +391,10 @@ class StreamWriter:
         self._transport = new_transport
         protocol._replace_writer(self)
 
+    def __del__(self):
+        if not self._transport.is_closing():
+            self.close()
+
 
 class StreamReader:
 
diff --git a/Misc/NEWS.d/next/Library/2023-08-05-05-10-41.gh-issue-106684.P9zRXb.rst b/Misc/NEWS.d/next/Library/2023-08-05-05-10-41.gh-issue-106684.P9zRXb.rst
new file mode 100644 (file)
index 0000000..85bce76
--- /dev/null
@@ -0,0 +1 @@
+Close :class:`asyncio.StreamWriter` when it is not closed by application leading to memory leaks. Patch by Kumar Aditya.