diff options
author | Guido van Rossum <guido@python.org> | 2015-11-19 13:28:47 -0800 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2015-11-19 13:28:47 -0800 |
commit | fee89f904d6687ef0f29f6021bc2a9f9bff219b6 (patch) | |
tree | ecb8a9121bf561d674adb8a62eeea500abe948ab /Doc/library/asyncio-eventloop.rst | |
parent | 6c85838c12c0c81007b7914b21c16766bb40de6b (diff) | |
download | cpython-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.rst | 22 |
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. |