mirror of
https://github.com/python/cpython.git
synced 2024-11-24 02:15:30 +08:00
gh-117657: Fix TSAN reported race in _PyEval_IsGILEnabled
. (#119921)
The GIL may be disabled concurrently with this call so we need to use a relaxed atomic load.
This commit is contained in:
parent
f79ffc879b
commit
f3b89a63cb
@ -145,7 +145,8 @@ extern void _PyEval_ReleaseLock(PyInterpreterState *, PyThreadState *,
|
||||
static inline int
|
||||
_PyEval_IsGILEnabled(PyThreadState *tstate)
|
||||
{
|
||||
return tstate->interp->ceval.gil->enabled != 0;
|
||||
struct _gil_runtime_state *gil = tstate->interp->ceval.gil;
|
||||
return _Py_atomic_load_int_relaxed(&gil->enabled) != 0;
|
||||
}
|
||||
|
||||
// Enable or disable the GIL used by the interpreter that owns tstate, which
|
||||
|
@ -65,7 +65,6 @@ race_top:list_get_item_ref
|
||||
race_top:make_pending_calls
|
||||
race_top:set_add_entry
|
||||
race_top:should_intern_string
|
||||
race_top:_PyEval_IsGILEnabled
|
||||
race_top:llist_insert_tail
|
||||
race_top:_Py_slot_tp_getattr_hook
|
||||
race_top:add_threadstate
|
||||
|
Loading…
Reference in New Issue
Block a user