summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/threading.rst3
-rw-r--r--Lib/test/test_threadsignals.py8
2 files changed, 10 insertions, 1 deletions
diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst
index b94021b..e6185c5 100644
--- a/Doc/library/threading.rst
+++ b/Doc/library/threading.rst
@@ -400,7 +400,8 @@ All methods are executed atomically.
The *timeout* parameter is new.
.. versionchanged:: 3.2
- Lock acquires can now be interrupted by signals on POSIX.
+ Lock acquisition can now be interrupted by signals on POSIX if the
+ underlying threading implementation supports it.
.. method:: release()
diff --git a/Lib/test/test_threadsignals.py b/Lib/test/test_threadsignals.py
index 1ad6c63..7e13b17 100644
--- a/Lib/test/test_threadsignals.py
+++ b/Lib/test/test_threadsignals.py
@@ -78,6 +78,10 @@ class ThreadSignals(unittest.TestCase):
@unittest.skipIf(USING_PTHREAD_COND,
'POSIX condition variables cannot be interrupted')
+ @unittest.skipIf(sys.platform.startswith('linux') and
+ not sys.thread_info.version,
+ 'Issue 34004: musl does not allow interruption of locks '
+ 'by signals.')
# Issue #20564: sem_timedwait() cannot be interrupted on OpenBSD
@unittest.skipIf(sys.platform.startswith('openbsd'),
'lock cannot be interrupted on OpenBSD')
@@ -105,6 +109,10 @@ class ThreadSignals(unittest.TestCase):
@unittest.skipIf(USING_PTHREAD_COND,
'POSIX condition variables cannot be interrupted')
+ @unittest.skipIf(sys.platform.startswith('linux') and
+ not sys.thread_info.version,
+ 'Issue 34004: musl does not allow interruption of locks '
+ 'by signals.')
# Issue #20564: sem_timedwait() cannot be interrupted on OpenBSD
@unittest.skipIf(sys.platform.startswith('openbsd'),
'lock cannot be interrupted on OpenBSD')