diff -r 2e59e0b579e5 Doc/library/asyncio-task.rst --- a/Doc/library/asyncio-task.rst Wed May 28 18:50:12 2014 +0300 +++ b/Doc/library/asyncio-task.rst Thu May 29 12:04:41 2014 +0700 @@ -315,7 +315,7 @@ ``None`` is returned when called not in the context of a :class:`Task`. - .. method:: get_stack(self, \*, limit=None) + .. method:: get_stack(\*, limit=None) Return the list of stack frames for this task's coroutine. @@ -344,6 +344,27 @@ get_stack(). The file argument is an I/O stream to which the output goes; by default it goes to sys.stderr. + .. method:: cancel() + + 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). + Example: Parallel execution of tasks ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^