https://github.com/python/cpython/commit/b36f01d03f8f89cadd8436a7261ca29e4030d30c
commit: b36f01d03f8f89cadd8436a7261ca29e4030d30c
branch: main
author: Mohsin Mehmood <[email protected]>
committer: kumaraditya303 <[email protected]>
date: 2025-11-09T10:19:29+05:30
summary:
gh-141186: document `asyncio.Task` cancellation propagation behavior (#141249)
files:
M Doc/library/asyncio-task.rst
diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst
index f825ae92ec7471..863b3e336572aa 100644
--- a/Doc/library/asyncio-task.rst
+++ b/Doc/library/asyncio-task.rst
@@ -1221,8 +1221,8 @@ Task Object
To cancel a running Task use the :meth:`cancel` method. Calling it
will cause the Task to throw a :exc:`CancelledError` exception into
- the wrapped coroutine. If a coroutine is awaiting on a Future
- object during cancellation, the Future object will be cancelled.
+ the wrapped coroutine. If a coroutine is awaiting on a future-like
+ object during cancellation, the awaited object will be cancelled.
:meth:`cancelled` can be used to check if the Task was cancelled.
The method returns ``True`` if the wrapped coroutine did not
@@ -1411,6 +1411,10 @@ Task Object
the cancellation, it needs to call :meth:`Task.uncancel` in addition
to catching the exception.
+ If the Task being cancelled is currently awaiting on a future-like
+ object, that awaited object will also be cancelled. This cancellation
+ propagates down the entire chain of awaited objects.
+
.. versionchanged:: 3.9
Added the *msg* parameter.
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]