mirror of
https://github.com/python/cpython.git
synced 2026-11-09 06:00:54 +08:00
Fixes the free-threaded deadlock described in gh-158195 by removing type-lock pinning. The type lock and class dict lock can now be released normally while a thread waits to stop the world, rather than remaining pinned across that wait. For 3.15 backport, avoid changing the default build behavior. The following changes are now only for the free-threaded build: - fresh __bases__ tuple copying - type_new_copy_dict() and namespace-key normalization - addition of the new exact-Unicode dictionary helpers In the default build, you can still create a type with string-subclass keys.
The Python C API ================ The C API is divided into these sections: 1. ``Include/``: Limited API 2. ``Include/cpython/``: CPython implementation details 3. ``Include/cpython/``, names with the ``PyUnstable_`` prefix: API that can change between minor releases 4. ``Include/internal/``, and any name with ``_`` prefix: The internal API Information on changing the C API is available `in the developer guide`_ .. _in the developer guide: https://devguide.python.org/c-api/