• CtrlZvi's avatar
    bpo-26819: Prevent proactor double read on resume (#6921) · 41510618
    CtrlZvi yazdı
    The proactor event loop has a race condition when reading with
    pausing/resuming. `resume_reading()` unconditionally schedules the read
    function to read from the current future. If `resume_reading()` was
    called before the previously scheduled done callback fires, this results
    in two attempts to get the data from the most recent read and an
    assertion failure. This commit tracks whether or not `resume_reading`
    needs to reschedule the callback to restart the loop, preventing a
    second attempt to read the data.
    41510618
2018-05-16-05-24-43.bpo-26819.taxbVT.rst 87 Bytes