https://github.com/python/cpython/commit/9ee0214b5dd982ac9fbe18dcce0e8787456e29af
commit: 9ee0214b5dd982ac9fbe18dcce0e8787456e29af
branch: main
author: PrinceNaroliya <[email protected]>
committer: ZeroIntensity <[email protected]>
date: 2025-08-25T10:53:26-04:00
summary:
gh-138098: Clarify strong references in `PyDict_Next` docs on the free-threaded
build (GH-138106)
files:
M Doc/c-api/dict.rst
diff --git a/Doc/c-api/dict.rst b/Doc/c-api/dict.rst
index e55c5c80cb83c0..0fbe26b56c0a7c 100644
--- a/Doc/c-api/dict.rst
+++ b/Doc/c-api/dict.rst
@@ -301,6 +301,15 @@ Dictionary Objects
}
Py_END_CRITICAL_SECTION();
+ .. note::
+
+ On the free-threaded build, this function can be used safely inside a
+ critical section. However, the references returned for *pkey* and
*pvalue*
+ are :term:`borrowed <borrowed reference>` and are only valid while the
+ critical section is held. If you need to use these objects outside the
+ critical section or when the critical section can be suspended, create a
+ :term:`strong reference <strong reference>` (for example, using
+ :c:func:`Py_NewRef`).
.. c:function:: int PyDict_Merge(PyObject *a, PyObject *b, int override)
_______________________________________________
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]