diff options
| author | mpage <mpage@meta.com> | 2024-04-15 16:17:55 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-15 16:17:55 (GMT) |
| commit | 0d5238373daea2672b56f0dae58acf158cc9aa27 (patch) | |
| tree | 4ba0b952ad05868acd9a05d121e7efa0cfcd5c4b /Python/pystate.c | |
| parent | 6e0b327690c7dd2e4e9091f81f8ad43ad5eb1631 (diff) | |
| download | cpython-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/pystate.c')
| -rw-r--r-- | Python/pystate.c | 4 |
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); |
