SIGN IN SIGN UP

bpo-33694: Fix race condition in asyncio proactor (GH-7498)

The cancellation of an overlapped WSARecv() has a race condition
which causes data loss because of the current implementation of
proactor in asyncio.

No longer cancel overlapped WSARecv() in _ProactorReadPipeTransport
to work around the race condition.

Remove the optimized recv_into() implementation to get simple
implementation of pause_reading() using the single _pending_data
attribute.

Move _feed_data_to_bufferred_proto() to protocols.py.

Remove set_protocol() method which became useless.
V
Victor Stinner committed
79790bc35fe722a49977b52647f9b5fe1deda2b7
Parent: d3ed67d
Committed by GitHub <noreply@github.com> on 6/7/2018, 10:25:52 PM