[Python-checkins] cpython (3.4): asyncio: Document Task.cancel() properly.
python-checkins at python.org
Mon Apr 7 11:22:29 CEST 2014
user: Victor Stinner <victor.stinner at gmail.com>
date: Mon Apr 07 11:18:06 2014 +0200
asyncio: Document Task.cancel() properly.
Lib/asyncio/tasks.py | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py
@@ -250,6 +250,25 @@
print(line, file=file, end='')
+ """Request that a task to cancel itself.
+ This arranges for a CancellationError 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 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, Task.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 CancelledError exception (even if cancel()
+ was not called).
if self._fut_waiter is not None:
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins