]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] gh-104340: Suppress warning about unawaited exception for closed pipe stdin...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 18 May 2023 00:09:12 +0000 (17:09 -0700)
committerGitHub <noreply@github.com>
Thu, 18 May 2023 00:09:12 +0000 (00:09 +0000)
(cherry picked from commit 7fc8e2d4627cdba5cb0075c9052ed6f4b6ecd36d)

Co-authored-by: Guido van Rossum <guido@python.org>
Lib/asyncio/subprocess.py
Misc/NEWS.d/next/Library/2023-05-17-20-03-01.gh-issue-104340.kp_XmX.rst [new file with mode: 0644]

index cd10231f710f1139590545b3b9e3bd88c12544f2..c380bbb0ee93ece71198d7e93dcd2d030090eb14 100644 (file)
@@ -81,6 +81,9 @@ class SubprocessStreamProtocol(streams.FlowControlMixin,
                 self._stdin_closed.set_result(None)
             else:
                 self._stdin_closed.set_exception(exc)
+                # Since calling `wait_closed()` is not mandatory,
+                # we shouldn't log the traceback if this is not awaited.
+                self._stdin_closed._log_traceback = False
             return
         if fd == 1:
             reader = self.stdout
diff --git a/Misc/NEWS.d/next/Library/2023-05-17-20-03-01.gh-issue-104340.kp_XmX.rst b/Misc/NEWS.d/next/Library/2023-05-17-20-03-01.gh-issue-104340.kp_XmX.rst
new file mode 100644 (file)
index 0000000..5b03622
--- /dev/null
@@ -0,0 +1 @@
+When an ``asyncio`` pipe protocol loses its connection due to an error, and the caller doesn't await ``wait_closed()`` on the corresponding ``StreamWriter``, don't log a warning about an exception that was never retrieved. After all, according to the ``StreamWriter.close()`` docs, the ``wait_closed()`` call is optional ("not mandatory").