summaryrefslogtreecommitdiff
path: root/Doc/library/asyncio-eventloop.rst
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2015-11-19 13:28:47 -0800
committerGuido van Rossum <guido@python.org>2015-11-19 13:28:47 -0800
commitfee89f904d6687ef0f29f6021bc2a9f9bff219b6 (patch)
treeecb8a9121bf561d674adb8a62eeea500abe948ab /Doc/library/asyncio-eventloop.rst
parent6c85838c12c0c81007b7914b21c16766bb40de6b (diff)
downloadcpython-fee89f904d6687ef0f29f6021bc2a9f9bff219b6.tar.gz
Issue #25593: Change semantics of EventLoop.stop().
Diffstat (limited to 'Doc/library/asyncio-eventloop.rst')
-rw-r--r--Doc/library/asyncio-eventloop.rst22
1 files changed, 16 insertions, 6 deletions
diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst
index e867c80d4e..96468ae567 100644
--- a/Doc/library/asyncio-eventloop.rst
+++ b/Doc/library/asyncio-eventloop.rst
@@ -29,7 +29,16 @@ Run an event loop
.. method:: BaseEventLoop.run_forever()
- Run until :meth:`stop` is called.
+ Run until :meth:`stop` is called. If :meth:`stop` is called before
+ :meth:`run_forever()` is called, this polls the I/O selector once
+ with a timeout of zero, runs all callbacks scheduled in response to
+ I/O events (and those that were already scheduled), and then exits.
+ If :meth:`stop` is called while :meth:`run_forever` is running,
+ this will run the current batch of callbacks and then exit. Note
+ that callbacks scheduled by callbacks will not run in that case;
+ they will run the next time :meth:`run_forever` is called.
+
+ .. versionchanged:: 3.4.4
.. method:: BaseEventLoop.run_until_complete(future)
@@ -48,10 +57,10 @@ Run an event loop
Stop running the event loop.
- Every callback scheduled before :meth:`stop` is called will run.
- Callbacks scheduled after :meth:`stop` is called will not run.
- However, those callbacks will run if :meth:`run_forever` is called
- again later.
+ This causes :meth:`run_forever` to exit at the next suitable
+ opportunity (see there for more details).
+
+ .. versionchanged:: 3.4.4
.. method:: BaseEventLoop.is_closed()
@@ -61,7 +70,8 @@ Run an event loop
.. method:: BaseEventLoop.close()
- Close the event loop. The loop must not be running.
+ Close the event loop. The loop must not be running. Pending
+ callbacks will be lost.
This clears the queues and shuts down the executor, but does not wait for
the executor to finish.