| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…109244) Fix a race condition in concurrent.futures. When a process in the process pool was terminated abruptly (while the future was running or pending), close the connection write end. If the call queue is blocked on sending bytes to a worker process, closing the connection write end interrupts the send, so the queue can be closed. Changes: * _ExecutorManagerThread.terminate_broken() now closes call_queue._writer. * multiprocessing PipeConnection.close() now interrupts WaitForMultipleObjects() in _send_bytes() by cancelling the overlapped operation. (cherry picked from commit a9b1f84) Co-authored-by: Victor Stinner <vstinner@python.org>
There was a problem hiding this comment.
LGTM, good bot.
Sorry, something went wrong.
|
I don't know that this strictly needs to hold up 3.12.0, it'd be fine in 3.12.1... but the issue this addresses seems to be one that causes CI testing to fail frequently on windows. so it might help unblock things anyways. |
Sorry, something went wrong.
|
FYI, I'm delaying this until 3.12.1. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Fix a race condition in concurrent.futures. When a process in the
process pool was terminated abruptly (while the future was running or
pending), close the connection write end. If the call queue is
blocked on sending bytes to a worker process, closing the connection
write end interrupts the send, so the queue can be closed.
Changes:
call_queue._writer.
WaitForMultipleObjects() in _send_bytes() by cancelling the
overlapped operation.
(cherry picked from commit a9b1f84)
Co-authored-by: Victor Stinner vstinner@python.org