aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/executor_cases.c.h
diff options
context:
space:
mode:
Diffstat (limited to 'Python/executor_cases.c.h')
-rw-r--r--Python/executor_cases.c.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/Python/executor_cases.c.h b/Python/executor_cases.c.h
index 29160b9f663..94f05c62089 100644
--- a/Python/executor_cases.c.h
+++ b/Python/executor_cases.c.h
@@ -1522,7 +1522,8 @@
}
STAT_INC(STORE_SUBSCR, hit);
PyObject *old_value = PyList_GET_ITEM(list, index);
- PyList_SET_ITEM(list, index, PyStackRef_AsPyObjectSteal(value));
+ FT_ATOMIC_STORE_PTR_RELEASE(_PyList_ITEMS(list)[index],
+ PyStackRef_AsPyObjectSteal(value));
assert(old_value != NULL);
UNLOCK_OBJECT(list); // unlock before decrefs!
PyStackRef_CLOSE_SPECIALIZED(sub_st, _PyLong_ExactDealloc);