Skip to content

Commit 41731d7

Browse files
Adding resource_tracker blocked signals test
1 parent 2d30d44 commit 41731d7

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

Lib/test/_test_multiprocessing.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6044,6 +6044,21 @@ def test_resource_tracker_exit_code(self):
60446044
self._test_resource_tracker_leak_resources(
60456045
cleanup=cleanup,
60466046
)
6047+
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()
60476062

60486063
class TestSimpleQueue(unittest.TestCase):
60496064

0 commit comments

Comments
 (0)