Skip to content

Commit 822955c

Browse files
authored
gh-96125: Fix sys.thread_info.name on pthread platforms (GH-96126)
Automerge-Triggered-By: GH:tiran
1 parent 5bfb3c3 commit 822955c

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

Lib/test/test_sys.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -628,6 +628,14 @@ def test_thread_info(self):
628628
self.assertEqual(len(info), 3)
629629
self.assertIn(info.name, ('nt', 'pthread', 'pthread-stubs', 'solaris', None))
630630
self.assertIn(info.lock, ('semaphore', 'mutex+cond', None))
631+
if sys.platform.startswith(("linux", "freebsd")):
632+
self.assertEqual(info.name, "pthread")
633+
elif sys.platform == "win32":
634+
self.assertEqual(info.name, "nt")
635+
elif sys.platform == "emscripten":
636+
self.assertIn(info.name, {"pthread", "pthread-stubs"})
637+
elif sys.platform == "wasi":
638+
self.assertEqual(info.name, "pthread-stubs")
631639

632640
@unittest.skipUnless(support.is_emscripten, "only available on Emscripten")
633641
def test_emscripten_info(self):
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Fix incorrect condition that causes ``sys.thread_info.name`` to be wrong on
2+
pthread platforms.

Python/thread.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ PyThread_init_thread(void)
5959
# define PYTHREAD_NAME "pthread-stubs"
6060
# include "thread_pthread_stubs.h"
6161
#elif defined(_POSIX_THREADS)
62-
# if defined(__EMSCRIPTEN__) || !defined(__EMSCRIPTEN_PTHREADS__)
62+
# if defined(__EMSCRIPTEN__) && !defined(__EMSCRIPTEN_PTHREADS__)
6363
# define PYTHREAD_NAME "pthread-stubs"
6464
# else
6565
# define PYTHREAD_NAME "pthread"

0 commit comments

Comments
 (0)