Skip to content

Commit afea804

Browse files
Update Objects/setobject.c
Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
1 parent 6120aef commit afea804

File tree

1 file changed

+4
-12
lines changed

1 file changed

+4
-12
lines changed

Objects/setobject.c

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,21 +1057,13 @@ setiter_len(PyObject *op, PyObject *Py_UNUSED(ignored))
10571057
setiterobject *si = (setiterobject*)op;
10581058
Py_ssize_t len = 0;
10591059

1060-
#ifdef Py_GIL_DISABLED
10611060
PySetObject *so = si->si_set;
1062-
assert(so != NULL);
10631061

1064-
Py_BEGIN_CRITICAL_SECTION2(op, so);
1065-
if (si->si_pos >= 0 && si->si_used == so->used) {
1066-
len = si->len;
1067-
}
1068-
Py_END_CRITICAL_SECTION2();
1069-
#else
1070-
if (si->si_set != NULL && si->si_used == si->si_set->used) {
1071-
len = si->len;
1062+
Py_BEGIN_CRITICAL_SECTION(op);
1063+
if (si->si_pos >= 0 && si->si_used == FT_ATOMIC_LOAD_SSIZE_RELAXED(so->used)) {
1064+
len = si->len;
10721065
}
1073-
#endif
1074-
1066+
Py_END_CRITICAL_SECTION();
10751067
return PyLong_FromSsize_t(len);
10761068
}
10771069

0 commit comments

Comments
 (0)