Skip to content

Commit bf0ed4d

Browse files
committed
Revert "gh-127586: properly restore blocked signals in resource_tracker.py (GH-127587)"
This reverts commit 46006a1.
1 parent 47c5a0f commit bf0ed4d

File tree

3 files changed

+3
-22
lines changed

3 files changed

+3
-22
lines changed

Lib/multiprocessing/resource_tracker.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,14 +155,13 @@ def ensure_running(self):
155155
# that can make the child die before it registers signal handlers
156156
# for SIGINT and SIGTERM. The mask is unregistered after spawning
157157
# the child.
158-
prev_sigmask = None
159158
try:
160159
if _HAVE_SIGMASK:
161-
prev_sigmask = signal.pthread_sigmask(signal.SIG_BLOCK, _IGNORED_SIGNALS)
160+
signal.pthread_sigmask(signal.SIG_BLOCK, _IGNORED_SIGNALS)
162161
pid = util.spawnv_passfds(exe, args, fds_to_pass)
163162
finally:
164-
if prev_sigmask is not None:
165-
signal.pthread_sigmask(signal.SIG_SETMASK, prev_sigmask)
163+
if _HAVE_SIGMASK:
164+
signal.pthread_sigmask(signal.SIG_UNBLOCK, _IGNORED_SIGNALS)
166165
except:
167166
os.close(w)
168167
raise

Lib/test/_test_multiprocessing.py

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6044,21 +6044,6 @@ def test_resource_tracker_exit_code(self):
60446044
self._test_resource_tracker_leak_resources(
60456045
cleanup=cleanup,
60466046
)
6047-
@unittest.skipUnless(hasattr(signal, "pthread_sigmask"), "pthread_sigmask is not available")
6048-
def test_resource_tracker_blocked_signals(self):
6049-
#
6050-
# gh-127586: Check that resource_tracker does not override blocked signals of caller.
6051-
#
6052-
from multiprocessing.resource_tracker import ResourceTracker
6053-
signals = {signal.SIGTERM, signal.SIGINT, signal.SIGUSR1}
6054-
6055-
for sig in signals:
6056-
signal.pthread_sigmask(signal.SIG_SETMASK, {sig})
6057-
self.assertEqual(signal.pthread_sigmask(signal.SIG_BLOCK, set()), {sig})
6058-
tracker = ResourceTracker()
6059-
tracker.ensure_running()
6060-
self.assertEqual(signal.pthread_sigmask(signal.SIG_BLOCK, set()), {sig})
6061-
tracker._stop()
60626047

60636048
class TestSimpleQueue(unittest.TestCase):
60646049

Misc/NEWS.d/next/Library/2024-12-03-20-28-08.gh-issue-127586.zgotYF.rst

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)