GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||
GeezerVison is showing github.com — gh-104372: Drop the GIL around the vfork() call. by gpshead · Pull Request #104782 · python/cpython Conversation
|
|
This PR is preferred over #104515 as it does not rely on undefined behavior magic cross-process address space sharing shenanigans. Pre-requisites: #104518 + #104697 to make the post vfork code safe for use without the GIL. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Don't write to the vfork_tstate_save pointer local after vfork.
There was an error while loading. Please reload this page.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Thanks @gpshead for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11, 3.12. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Sorry, @gpshead, I could not cleanly backport this to |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
On Linux where the `subprocess` module can use the `vfork` syscall for faster spawning, prevent the parent process from blocking other threads by dropping the GIL while it waits for the vfork'ed child process `exec` outcome. This prevents spawning a binary from a slow filesystem from blocking the rest of the application. Fixes pythonGH-104372. (cherry picked from commit d086792) Co-authored-by: Gregory P. Smith <[email protected]>
|
GH-104942 is a backport of this pull request to the 3.12 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…104942) gh-104372: Drop the GIL around the vfork() call. (GH-104782) On Linux where the `subprocess` module can use the `vfork` syscall for faster spawning, prevent the parent process from blocking other threads by dropping the GIL while it waits for the vfork'ed child process `exec` outcome. This prevents spawning a binary from a slow filesystem from blocking the rest of the application. Fixes GH-104372. (cherry picked from commit d086792) Co-authored-by: Gregory P. Smith <[email protected]>
On Linux where the `subprocess` module can use the `vfork` syscall for faster spawning, prevent the parent process from blocking other threads by dropping the GIL while it waits for the vfork'ed child process `exec` outcome. This prevents spawning a binary from a slow filesystem from blocking the rest of the application. Fixes python#104372. (cherry picked from commit d086792)
|
GH-104958 is a backport of this pull request to the 3.11 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…04958) gh-104372: Drop the GIL around the vfork() call. (#104782) On Linux where the `subprocess` module can use the `vfork` syscall for faster spawning, prevent the parent process from blocking other threads by dropping the GIL while it waits for the vfork'ed child process `exec` outcome. This prevents spawning a binary from a slow filesystem from blocking the rest of the application. Fixes #104372. (cherry picked from commit d086792)
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
subprocess can block all Python threads when usingvfork() until the child process exec() succeeds or fails.
There was an error while loading. Please reload this page.