https://github.com/python/cpython/commit/4c3d187d9f143eee930a88a38b90f4842911b8be
commit: 4c3d187d9f143eee930a88a38b90f4842911b8be
branch: main
author: Kumar Aditya <[email protected]>
committer: kumaraditya303 <[email protected]>
date: 2025-04-18T21:43:49+05:30
summary:
gh-126366: fix thread safety of dict key iterator (#132693)
files:
M Objects/dictobject.c
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 792a34cc569fe8..ff6dbb8bed3007 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -5495,7 +5495,7 @@ dictiter_iternext_threadsafe(PyDictObject *d, PyObject
*self,
ensure_shared_on_read(d);
i = _Py_atomic_load_ssize_relaxed(&di->di_pos);
- k = _Py_atomic_load_ptr_relaxed(&d->ma_keys);
+ k = _Py_atomic_load_ptr_acquire(&d->ma_keys);
assert(i >= 0);
if (_PyDict_HasSplitTable(d)) {
PyDictValues *values = _Py_atomic_load_ptr_relaxed(&d->ma_values);
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]