Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
GH-84559: Deprecate fork being the multiprocessing default.#100618
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
GH-84559: Deprecate fork being the multiprocessing default.#100618
Uh oh!
There was an error while loading.Please reload this page.
Conversation
This starts the process. Users who don't specify their own start methodand use the default on platforms where it is 'fork' will see aDeprecationWarning upon multiprocessing.Pool() construction or uponmultiprocessing.Process.start().
gpshead commentedJan 1, 2023
This code could be a lot cleaner if#39615 were implemented... |
Uh oh!
There was an error while loading.Please reload this page.
gvanrossum left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Changes to test_asyncio LGTM. I hope I won't have to review the rest, I know basically nothing about multiprocessing. :-(
kumaraditya303 left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I approve theasyncio change.
Uh oh!
There was an error while loading.Please reload this page.
hugovk commentedFeb 2, 2023
Please could you add this to What's New, underPending Removal in Python 3.14? |
gpshead commentedFeb 2, 2023
Ahha, I knew we had a list of upcoming things somewhere. Good idea, done! What's New text added. |
bedevere-bot commentedFeb 3, 2023
|
bedevere-bot commentedFeb 3, 2023
|
bedevere-bot commentedFeb 3, 2023
|
bedevere-bot commentedFeb 3, 2023
|
This reverts the core ofpython#100618 while leaving relevant documentationimprovements and minor refactorings in place.
The default of `fork` is known to be problematic. Python itself ischanging the default to `spawn`. The new default is expected to be inplace for Python 3.14.Python references for the change to the default:*python/cpython#84559*python/cpython#100618We also have several places where this option had to be set to `spawn`to make tests work. The AMD code even checks and overrides the value ifit's not set to `spawn`.Simplify things for everyone and just default to `spawn`, but leave theoption in place just in case, at least for now.Signed-off-by: Russell Bryant <rbryant@redhat.com>
Uh oh!
There was an error while loading.Please reload this page.
This starts the process. Users who don't specify their own start method and use the default on platforms where it is 'fork' will see a DeprecationWarning upon multiprocessing.Pool() construction or upon multiprocessing.Process.start().
'fork'is broken: change to `'forkserver' || 'spawn'#84559