diff options
author | Stephen Hansen <stephen.paul.hansen@gmail.com> | 2024-12-27 22:09:01 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-27 22:09:01 (GMT) |
commit | aeb9b65aa26444529e4adc7d6e5b0d3dd9889ec2 (patch) | |
tree | 40cced63f9b0dd96af9949ac47a0e131d26aca4a /Misc | |
parent | 64173cd6f2d8dc95c6f8b67912d0edd1c1b707d5 (diff) | |
download | cpython-aeb9b65aa26444529e4adc7d6e5b0d3dd9889ec2.zip cpython-aeb9b65aa26444529e4adc7d6e5b0d3dd9889ec2.tar.gz cpython-aeb9b65aa26444529e4adc7d6e5b0d3dd9889ec2.tar.bz2 |
gh-127586: multiprocessing.Pool does not properly restore blocked signals (try 2) (GH-128011)
Correct pthread_sigmask in resource_tracker to restore old signals
Using SIG_UNBLOCK to remove blocked "ignored signals" may accidentally
cause side effects if the calling parent already had said signals
blocked to begin with and did not intend to unblock them when
creating a pool. Use SIG_SETMASK instead with the previous mask of
blocked signals to restore the original blocked set.
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
Diffstat (limited to 'Misc')
-rw-r--r-- | Misc/NEWS.d/next/Library/2024-12-03-20-28-08.gh-issue-127586.zgotYF.rst | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/Library/2024-12-03-20-28-08.gh-issue-127586.zgotYF.rst b/Misc/NEWS.d/next/Library/2024-12-03-20-28-08.gh-issue-127586.zgotYF.rst new file mode 100644 index 0000000..80217bd --- /dev/null +++ b/Misc/NEWS.d/next/Library/2024-12-03-20-28-08.gh-issue-127586.zgotYF.rst @@ -0,0 +1,3 @@ +:class:`multiprocessing.pool.Pool` now properly restores blocked signal handlers +of the parent thread when creating processes via either *spawn* or +*forkserver*. |