summaryrefslogtreecommitdiffstats
path: root/Doc/library/asyncio-task.rst
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-06-02 21:06:46 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-06-02 21:06:46 (GMT)
commit8d21357fb5d15dcebb790a0594de3c7afddd8493 (patch)
tree106754f9a08a342f1cf191e09aac0d1e5efca555 /Doc/library/asyncio-task.rst
parent66f29284797c31190ad06554d9909d7ed8a894d1 (diff)
downloadcpython-8d21357fb5d15dcebb790a0594de3c7afddd8493.zip
cpython-8d21357fb5d15dcebb790a0594de3c7afddd8493.tar.gz
cpython-8d21357fb5d15dcebb790a0594de3c7afddd8493.tar.bz2
Issue #21601: Document asyncio.Task.cancel(). Initial patch written by Vajrasky
Kok.
Diffstat (limited to 'Doc/library/asyncio-task.rst')
-rw-r--r--Doc/library/asyncio-task.rst22
1 files changed, 21 insertions, 1 deletions
diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst
index 67eaccd..eb254a9 100644
--- a/Doc/library/asyncio-task.rst
+++ b/Doc/library/asyncio-task.rst
@@ -327,7 +327,27 @@ Task
``None`` is returned when called not in the context of a :class:`Task`.
- .. method:: get_stack(self, \*, limit=None)
+ .. method:: cancel()
+
+ Request this task to cancel itself.
+
+ This arranges for a :exc:`~concurrent.futures.CancelledError` to be
+ thrown into the wrapped coroutine on the next cycle through the event
+ loop. The coroutine then has a chance to clean up or even deny the
+ request using try/except/finally.
+
+ Contrary to :meth:`Future.cancel`, this does not guarantee that the task
+ will be cancelled: the exception might be caught and acted upon, delaying
+ cancellation of the task or preventing it completely. The task may also
+ return a value or raise a different exception.
+
+ Immediately after this method is called, :meth:`~Future.cancelled` will
+ not return ``True`` (unless the task was already cancelled). A task will
+ be marked as cancelled when the wrapped coroutine terminates with a
+ :exc:`~concurrent.futures.CancelledError` exception (even if
+ :meth:`cancel` was not called).
+
+ .. method:: get_stack(\*, limit=None)
Return the list of stack frames for this task's coroutine.