bpo-34037, asyncio: add BaseEventLoop.wait_executor_on_close (GH-13786)

Add BaseEventLoop.wait_executor_on_close attribute: true by default.

loop.close() now waits for the default executor to finish by default.
Set loop.wait_executor_on_close attribute to False to not wait for
the executor.
This commit is contained in:
Victor Stinner 2019-06-03 23:31:04 +02:00 committed by GitHub
parent 78c7d52779
commit 0f0a30f4da
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 3 deletions

View file

@ -140,12 +140,18 @@ Running and stopping the loop
The loop must not be running when this function is called.
Any pending callbacks will be discarded.
This method clears all queues and shuts down the executor, but does
not wait for the executor to finish.
This method clears all queues and shuts down the default executor. By
default, it waits for the default executor to finish. Set
*loop.wait_executor_on_close* to ``False`` to not wait for the executor.
This method is idempotent and irreversible. No other methods
should be called after the event loop is closed.
.. versionchanged:: 3.8
The method now waits for the default executor to finish by default.
Added *loop.wait_executor_on_close* attribute.
.. coroutinemethod:: loop.shutdown_asyncgens()
Schedule all currently open :term:`asynchronous generator` objects to