Kaydet (Commit) 4bd652a2 authored tarafından Victor Stinner's avatar Victor Stinner

asyncio: Document Task.cancel() properly.

üst 6d6ec25e
......@@ -250,6 +250,25 @@ class Task(futures.Future):
print(line, file=file, end='')
def cancel(self):
"""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.done():
return False
if self._fut_waiter is not None:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment