summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authormpage <mpage@meta.com>2024-04-15 16:17:55 (GMT)
committerGitHub <noreply@github.com>2024-04-15 16:17:55 (GMT)
commit0d5238373daea2672b56f0dae58acf158cc9aa27 (patch)
tree4ba0b952ad05868acd9a05d121e7efa0cfcd5c4b /Python
parent6e0b327690c7dd2e4e9091f81f8ad43ad5eb1631 (diff)
downloadcpython-0d5238373daea2672b56f0dae58acf158cc9aa27.zip
cpython-0d5238373daea2672b56f0dae58acf158cc9aa27.tar.gz
cpython-0d5238373daea2672b56f0dae58acf158cc9aa27.tar.bz2
gh-117657: Quiet more TSAN warnings due to incorrect modeling of compare/exchange (#117830)
Diffstat (limited to 'Python')
-rw-r--r--Python/pystate.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Python/pystate.c b/Python/pystate.c
index 5045402..ac38866 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -2003,7 +2003,7 @@ tstate_try_attach(PyThreadState *tstate)
static void
tstate_set_detached(PyThreadState *tstate, int detached_state)
{
- assert(tstate->state == _Py_THREAD_ATTACHED);
+ assert(_Py_atomic_load_int_relaxed(&tstate->state) == _Py_THREAD_ATTACHED);
#ifdef Py_GIL_DISABLED
_Py_atomic_store_int(&tstate->state, detached_state);
#else
@@ -2068,7 +2068,7 @@ static void
detach_thread(PyThreadState *tstate, int detached_state)
{
// XXX assert(tstate_is_alive(tstate) && tstate_is_bound(tstate));
- assert(tstate->state == _Py_THREAD_ATTACHED);
+ assert(_Py_atomic_load_int_relaxed(&tstate->state) == _Py_THREAD_ATTACHED);
assert(tstate == current_fast_get());
if (tstate->critical_section != 0) {
_PyCriticalSection_SuspendAll(tstate);