SIGN IN SIGN UP
python / cpython UNCLAIMED

The Python programming language

0 0 1 Python

gh-118789: Add `PyUnstable_Object_ClearWeakRefsNoCallbacks` (#118807)

This exposes `PyUnstable_Object_ClearWeakRefsNoCallbacks` as an unstable
C-API function to provide a thread-safe mechanism for clearing weakrefs
without executing callbacks.

Some C-API extensions need to clear weakrefs without calling callbacks,
such as after running finalizers like we do in subtype_dealloc.
Previously they could use `_PyWeakref_ClearRef` on each weakref, but
that's not thread-safe in the free-threaded build.

Co-authored-by: Petr Viktorin <encukou@gmail.com>
S
Sam Gross committed
e8752d7b80775ec2a348cd4bf38cbe26a4a07615
Parent: 360f14a
Committed by GitHub <noreply@github.com> on 6/18/2024, 1:57:23 PM