https://github.com/python/cpython/commit/ebf99384966344df77828e69dd88d34df878a7b6
commit: ebf99384966344df77828e69dd88d34df878a7b6
branch: main
author: Kumar Aditya <[email protected]>
committer: kumaraditya303 <[email protected]>
date: 2025-10-24T14:23:06Z
summary:
gh-140544: cleanup `HAVE_THREAD_LOCAL` checks in pystate.c (#140547)
files:
M Python/pystate.c
diff --git a/Python/pystate.c b/Python/pystate.c
index 955457cdcf5c28..2f76adf5026012 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -67,48 +67,34 @@ to avoid the expense of doing their own locking).
For each of these functions, the GIL must be held by the current thread.
*/
+#ifndef HAVE_THREAD_LOCAL
+# error "no supported thread-local variable storage classifier"
+#endif
-#ifdef HAVE_THREAD_LOCAL
/* The attached thread state for the current thread. */
_Py_thread_local PyThreadState *_Py_tss_tstate = NULL;
/* The "bound" thread state used by PyGILState_Ensure(),
also known as a "gilstate." */
_Py_thread_local PyThreadState *_Py_tss_gilstate = NULL;
-#endif
static inline PyThreadState *
current_fast_get(void)
{
-#ifdef HAVE_THREAD_LOCAL
return _Py_tss_tstate;
-#else
- // XXX Fall back to the PyThread_tss_*() API.
-# error "no supported thread-local variable storage classifier"
-#endif
}
static inline void
current_fast_set(_PyRuntimeState *Py_UNUSED(runtime), PyThreadState *tstate)
{
assert(tstate != NULL);
-#ifdef HAVE_THREAD_LOCAL
_Py_tss_tstate = tstate;
-#else
- // XXX Fall back to the PyThread_tss_*() API.
-# error "no supported thread-local variable storage classifier"
-#endif
}
static inline void
current_fast_clear(_PyRuntimeState *Py_UNUSED(runtime))
{
-#ifdef HAVE_THREAD_LOCAL
_Py_tss_tstate = NULL;
-#else
- // XXX Fall back to the PyThread_tss_*() API.
-# error "no supported thread-local variable storage classifier"
-#endif
}
#define tstate_verify_not_active(tstate) \
@@ -2494,14 +2480,10 @@ _PyThreadState_Bind(PyThreadState *tstate)
uintptr_t
_Py_GetThreadLocal_Addr(void)
{
-#ifdef HAVE_THREAD_LOCAL
// gh-112535: Use the address of the thread-local PyThreadState variable as
// a unique identifier for the current thread. Each thread has a unique
// _Py_tss_tstate variable with a unique address.
return (uintptr_t)&_Py_tss_tstate;
-#else
-# error "no supported thread-local variable storage classifier"
-#endif
}
#endif
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]