Skip to content

[3.10] gh-90622: Do not spawn ProcessPool workers on demand via the "fork" spawn method (GH-91598)#92497

Merged
gpshead merged 1 commit into
python:3.10from
gpshead:backport-ebb37fc-3.10
May 8, 2022
Merged

[3.10] gh-90622: Do not spawn ProcessPool workers on demand via the "fork" spawn method (GH-91598)#92497
gpshead merged 1 commit into
python:3.10from
gpshead:backport-ebb37fc-3.10

Conversation

@gpshead

@gpshead gpshead commented May 8, 2022

Copy link
Copy Markdown
Member

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 greg@krypto.org

… fork method. (pythonGH-91598)

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 <greg@krypto.org>
@miss-islington

Copy link
Copy Markdown
Contributor

Thanks @gpshead for the PR 🌮🎉.. I'm working now to backport this PR to: 3.9.
🐍🍒⛏🤖

@gpshead gpshead deleted the backport-ebb37fc-3.10 branch May 8, 2022 17:12
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request May 8, 2022
… 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 <greg@krypto.org>
(cherry picked from commit b795376)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
@bedevere-bot

Copy link
Copy Markdown

GH-92499 is a backport of this pull request to the 3.9 branch.

gpshead added a commit that referenced this pull request May 8, 2022
…method. (GH-91598) (GH-92497) (#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 <greg@krypto.org>
(cherry picked from commit b795376)

Co-authored-by: Gregory P. Smith <greg@krypto.org>

Co-authored-by: Gregory P. Smith <greg@krypto.org>
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 <greg@krypto.org>
(cherry picked from commit b795376)

Co-authored-by: Gregory P. Smith <greg@krypto.org>

Co-authored-by: Gregory P. Smith <greg@krypto.org>
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