From 0cf631d511e3041407983d1d22e812f87a4e5878 Mon Sep 17 00:00:00 2001 From: Bogdan Romanyuk <65823030+wrongnull@users.noreply.github.com> Date: Mon, 30 Dec 2024 23:38:49 +0300 Subject: [PATCH] gh-128100: Use atomic dictionary load in `_PyObject_GenericGetAttrWithDict` (GH-128297) (cherry picked from commit 47d2cb8eb7595df5940225867dbb66b6dd59413a) Co-authored-by: Bogdan Romanyuk <65823030+wrongnull@users.noreply.github.com> --- Objects/object.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Objects/object.c b/Objects/object.c index a80d20c182ae0b..c0ce4291eb7335 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -1692,7 +1692,11 @@ _PyObject_GenericGetAttrWithDict(PyObject *obj, PyObject *name, else { PyObject **dictptr = _PyObject_ComputedDictPointer(obj); if (dictptr) { +#ifdef Py_GIL_DISABLED + dict = _Py_atomic_load_ptr_acquire(dictptr); +#else dict = *dictptr; +#endif } } }