Skip to content

Conversation

miss-islington
Copy link
Contributor

@miss-islington miss-islington commented May 8, 2022

Do not spawn ProcessPool workers on demand when they spawn via fork.

This avoids potential deadlocks in the child processes due to forking from
a multithreaded process..
(cherry picked from commit ebb37fc)

Co-authored-by: Gregory P. Smith [email protected]
(cherry picked from commit b795376)

Co-authored-by: Gregory P. Smith [email protected]

Automerge-Triggered-By: GH:gpshead

… fork method. (pythonGH-91598) (pythonGH-92497)

Do not spawn ProcessPool workers on demand when they spawn via fork.

This avoids potential deadlocks in the child processes due to forking from
a multithreaded process..
(cherry picked from commit ebb37fc)

Co-authored-by: Gregory P. Smith <[email protected]>
(cherry picked from commit b795376)

Co-authored-by: Gregory P. Smith <[email protected]>
@miss-islington
Copy link
Contributor Author

@gpshead: Status check is done, and it's a success ✅ .

@gpshead gpshead self-assigned this May 8, 2022
@gpshead gpshead merged commit 8e523c1 into python:3.9 May 8, 2022
@miss-islington miss-islington deleted the backport-b795376-3.9 branch May 8, 2022 18:22
@miss-islington
Copy link
Contributor Author

@gpshead: Status check is done, and it's a success ✅ .

hello-adam pushed a commit to hello-adam/cpython that referenced this pull request Jun 2, 2022
… fork method. (pythonGH-91598) (pythonGH-92497) (python#92499)

Do not spawn ProcessPool workers on demand when they spawn via fork.

This avoids potential deadlocks in the child processes due to forking from
a multithreaded process..
(cherry picked from commit ebb37fc)

Co-authored-by: Gregory P. Smith <[email protected]>
(cherry picked from commit b795376)

Co-authored-by: Gregory P. Smith <[email protected]>

Co-authored-by: Gregory P. Smith <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

Successfully merging this pull request may close these issues.

concurrent.futures.ProcessPoolExecutor can deadlock when tcmalloc is used
3 participants