Skip to content

Commit 63f0406

Browse files
authored
gh-129643: Fix PyList_Insert in free-threading builds (#129680)
1 parent 779d069 commit 63f0406

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix thread safety of :c:func:`PyList_Insert` in free-threading builds.

Objects/listobject.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -466,8 +466,8 @@ ins1(PyListObject *self, Py_ssize_t where, PyObject *v)
466466
where = n;
467467
items = self->ob_item;
468468
for (i = n; --i >= where; )
469-
items[i+1] = items[i];
470-
items[where] = Py_NewRef(v);
469+
FT_ATOMIC_STORE_PTR_RELAXED(items[i+1], items[i]);
470+
FT_ATOMIC_STORE_PTR_RELEASE(items[where], Py_NewRef(v));
471471
return 0;
472472
}
473473

0 commit comments

Comments
 (0)