summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Include/cpython/setobject.h4
-rw-r--r--Objects/setobject.c1
2 files changed, 4 insertions, 1 deletions
diff --git a/Include/cpython/setobject.h b/Include/cpython/setobject.h
index 1778c77..89565cb 100644
--- a/Include/cpython/setobject.h
+++ b/Include/cpython/setobject.h
@@ -62,6 +62,10 @@ typedef struct {
(assert(PyAnySet_Check(so)), _Py_CAST(PySetObject*, so))
static inline Py_ssize_t PySet_GET_SIZE(PyObject *so) {
+#ifdef Py_GIL_DISABLED
+ return _Py_atomic_load_ssize_relaxed(&(_PySet_CAST(so)->used));
+#else
return _PySet_CAST(so)->used;
+#endif
}
#define PySet_GET_SIZE(so) PySet_GET_SIZE(_PyObject_CAST(so))
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 7af0ae1..d5030ce 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -2080,7 +2080,6 @@ set_issuperset_impl(PySetObject *so, PyObject *other)
Py_RETURN_TRUE;
}
-// TODO: Make thread-safe in free-threaded builds
static PyObject *
set_richcompare(PySetObject *v, PyObject *w, int op)
{