From 76f6b5e64a8b6ea5a88606f3665cd9f52c2c2798 Mon Sep 17 00:00:00 2001 From: Kumar Aditya Date: Wed, 2 Apr 2025 20:01:05 +0530 Subject: gh-132013: use relaxed atomics in hash of frozenset (#132014) Use relaxed atomics in hash of `frozenset` to fix TSAN warning. --- Objects/setobject.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Objects/setobject.c b/Objects/setobject.c index 5ad83c3..f65d458 100644 --- a/Objects/setobject.c +++ b/Objects/setobject.c @@ -793,12 +793,12 @@ frozenset_hash(PyObject *self) PySetObject *so = _PySet_CAST(self); Py_uhash_t hash; - if (so->hash != -1) { - return so->hash; + if (FT_ATOMIC_LOAD_SSIZE_RELAXED(so->hash) != -1) { + return FT_ATOMIC_LOAD_SSIZE_RELAXED(so->hash); } hash = frozenset_hash_impl(self); - so->hash = hash; + FT_ATOMIC_STORE_SSIZE_RELAXED(so->hash, hash); return hash; } -- cgit v0.12