summaryrefslogtreecommitdiffstats
path: root/Misc
diff options
context:
space:
mode:
authorStephen Hansen <stephen.paul.hansen@gmail.com>2024-12-27 22:09:01 (GMT)
committerGitHub <noreply@github.com>2024-12-27 22:09:01 (GMT)
commitaeb9b65aa26444529e4adc7d6e5b0d3dd9889ec2 (patch)
tree40cced63f9b0dd96af9949ac47a0e131d26aca4a /Misc
parent64173cd6f2d8dc95c6f8b67912d0edd1c1b707d5 (diff)
downloadcpython-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.rst3
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*.