• Victor Stinner's avatar
    bpo-33694: Fix race condition in asyncio proactor (GH-7498) · 79790bc3
    Victor Stinner yazdı
    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.
    79790bc3
test_proactor_events.py 33 KB