bpo-34075: Deprecate non-ThreadPoolExecutor in loop.set_default_executor() (GH-8533)

Various asyncio internals expect that the default executor is a
`ThreadPoolExecutor`, so deprecate passing anything else to
`loop.set_default_executor()`.
This commit is contained in:
Elvis Pranskevichus 2018-07-30 11:42:43 +01:00 committed by Victor Stinner
parent 4e11c461ed
commit 22d25085db
5 changed files with 35 additions and 2 deletions

View file

@ -906,7 +906,14 @@ pool of processes). By default, an event loop uses a thread pool executor
.. method:: AbstractEventLoop.set_default_executor(executor)
Set the default executor used by :meth:`run_in_executor`.
Set *executor* as the default executor used by :meth:`run_in_executor`.
*executor* should be an instance of
:class:`~concurrent.futures.ThreadPoolExecutor`.
.. deprecated:: 3.8
Using an executor that is not an instance of
:class:`~concurrent.futures.ThreadPoolExecutor` is deprecated and
will trigger an error in Python 3.9.
Error Handling API