mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
gh-141186: document asyncio.Task cancellation propagation behavior (#141249)
This commit is contained in:
parent
0ac890bea7
commit
b36f01d03f
1 changed files with 6 additions and 2 deletions
|
|
@ -1221,8 +1221,8 @@ Task Object
|
||||||
|
|
||||||
To cancel a running Task use the :meth:`cancel` method. Calling it
|
To cancel a running Task use the :meth:`cancel` method. Calling it
|
||||||
will cause the Task to throw a :exc:`CancelledError` exception into
|
will cause the Task to throw a :exc:`CancelledError` exception into
|
||||||
the wrapped coroutine. If a coroutine is awaiting on a Future
|
the wrapped coroutine. If a coroutine is awaiting on a future-like
|
||||||
object during cancellation, the Future object will be cancelled.
|
object during cancellation, the awaited object will be cancelled.
|
||||||
|
|
||||||
:meth:`cancelled` can be used to check if the Task was cancelled.
|
:meth:`cancelled` can be used to check if the Task was cancelled.
|
||||||
The method returns ``True`` if the wrapped coroutine did not
|
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
|
the cancellation, it needs to call :meth:`Task.uncancel` in addition
|
||||||
to catching the exception.
|
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
|
.. versionchanged:: 3.9
|
||||||
Added the *msg* parameter.
|
Added the *msg* parameter.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue