Issue #11223: Add threading._info() function providing informations about the
thread implementation.
Skip test_lock_acquire_interruption() and test_rlock_acquire_interruption() of
test_threadsignals if a thread lock is implemented using a POSIX mutex and a
POSIX condition variable. A POSIX condition variable cannot be interrupted by a
signal (e.g. on Linux, the futex system call is restarted).
diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst
index df47045..dd2226d 100644
--- a/Doc/library/threading.rst
+++ b/Doc/library/threading.rst
@@ -175,6 +175,30 @@
Availability: Windows, systems with POSIX threads.
+.. function:: _info()
+
+ Return a dictionary with informations about the thread implementation.
+ The ``'name'`` key gives the name of the thread implementation (string):
+
+ * ``'nt'``: Windows threads
+ * ``'os2'``: OS/2 threads
+ * ``'pthread'``: POSIX threads
+ * ``'solaris'``: Solaris threads
+
+ POSIX threads have two more keys:
+
+ * ``'lock_implementation'`` (string): name of the lock
+ implementation
+
+ * ``'semaphore'``: a lock uses a semaphore
+ * ``'mutex+cond'``: a lock uses a mutex and a condition variable
+
+ * ``'pthread_version'`` (string, optional): name and version of the pthread
+ library
+
+ .. versionadded:: 3.3
+
+
This module also defines the following constant:
.. data:: TIMEOUT_MAX