summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_sys.py8
-rw-r--r--Misc/NEWS.d/next/Library/2022-08-19-18-21-01.gh-issue-96125.ODcF1Y.rst2
-rw-r--r--Python/thread.c2
3 files changed, 11 insertions, 1 deletions
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index 78da09d..202fb30 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -628,6 +628,14 @@ class SysModuleTest(unittest.TestCase):
self.assertEqual(len(info), 3)
self.assertIn(info.name, ('nt', 'pthread', 'pthread-stubs', 'solaris', None))
self.assertIn(info.lock, ('semaphore', 'mutex+cond', None))
+ if sys.platform.startswith(("linux", "freebsd")):
+ self.assertEqual(info.name, "pthread")
+ elif sys.platform == "win32":
+ self.assertEqual(info.name, "nt")
+ elif sys.platform == "emscripten":
+ self.assertIn(info.name, {"pthread", "pthread-stubs"})
+ elif sys.platform == "wasi":
+ self.assertEqual(info.name, "pthread-stubs")
@unittest.skipUnless(support.is_emscripten, "only available on Emscripten")
def test_emscripten_info(self):
diff --git a/Misc/NEWS.d/next/Library/2022-08-19-18-21-01.gh-issue-96125.ODcF1Y.rst b/Misc/NEWS.d/next/Library/2022-08-19-18-21-01.gh-issue-96125.ODcF1Y.rst
new file mode 100644
index 0000000..ba7d26a
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2022-08-19-18-21-01.gh-issue-96125.ODcF1Y.rst
@@ -0,0 +1,2 @@
+Fix incorrect condition that causes ``sys.thread_info.name`` to be wrong on
+pthread platforms.
diff --git a/Python/thread.c b/Python/thread.c
index e206a69..8c8a4e8 100644
--- a/Python/thread.c
+++ b/Python/thread.c
@@ -59,7 +59,7 @@ PyThread_init_thread(void)
# define PYTHREAD_NAME "pthread-stubs"
# include "thread_pthread_stubs.h"
#elif defined(_POSIX_THREADS)
-# if defined(__EMSCRIPTEN__) || !defined(__EMSCRIPTEN_PTHREADS__)
+# if defined(__EMSCRIPTEN__) && !defined(__EMSCRIPTEN_PTHREADS__)
# define PYTHREAD_NAME "pthread-stubs"
# else
# define PYTHREAD_NAME "pthread"