bpo-34687: Make asynico use ProactorEventLoop by default (GH-9538)

This commit is contained in:
Victor Stinner 2018-09-25 08:27:08 -07:00 committed by Yury Selivanov
parent c8c0249c9e
commit 6ea29c5e90
7 changed files with 30 additions and 14 deletions

View file

@ -23,6 +23,10 @@ All Platforms
Windows
=======
.. versionchanged:: 3.8
On Windows, :class:`ProactorEventLoop` is now the default event loop.
All event loops on Windows do not support the following methods:
* :meth:`loop.create_unix_connection` and
@ -67,16 +71,8 @@ Windows configuration.
Subprocess Support on Windows
-----------------------------
:class:`SelectorEventLoop` on Windows does not support subproceses.
On Windows, :class:`ProactorEventLoop` should be used instead::
import asyncio
asyncio.set_event_loop_policy(
asyncio.WindowsProactorEventLoopPolicy())
asyncio.run(your_code())
On Windows, the default event loop :class:`ProactorEventLoop` supports
subprocesses, whereas :class:`SelectorEventLoop` does not.
The :meth:`policy.set_child_watcher()
<AbstractEventLoopPolicy.set_child_watcher>` function is also

View file

@ -92,11 +92,23 @@ asyncio ships with the following built-in policies:
.. class:: DefaultEventLoopPolicy
The default asyncio policy. Uses :class:`SelectorEventLoop`
on both Unix and Windows platforms.
on Unix and :class:`ProactorEventLoop` on Windows.
There is no need to install the default policy manually. asyncio
is configured to use the default policy automatically.
.. versionchanged:: 3.8
On Windows, :class:`ProactorEventLoop` is now used by default.
.. class:: WindowsSelectorEventLoopPolicy
An alternative event loop policy that uses the
:class:`SelectorEventLoop` event loop implementation.
Availability: Windows.
.. class:: WindowsProactorEventLoopPolicy

View file

@ -116,6 +116,11 @@ New Modules
Improved Modules
================
asyncio
-------
On Windows, the default event loop is now :class:`~asyncio.ProactorEventLoop`.
os.path
-------