cpython/Include
Miss Islington (bot) 58af2293c5
[3.12] gh-107080: Fix Py_TRACE_REFS Crashes Under Isolated Subinterpreters (gh-107567) (#107599)
gh-107080: Fix Py_TRACE_REFS Crashes Under Isolated Subinterpreters (gh-107567)

The linked list of objects was a global variable, which broke isolation between interpreters, causing crashes. To solve this, we've moved the linked list to each interpreter.
(cherry picked from commit 58ef741867)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2023-08-04 00:18:29 +02:00
..
cpython [3.12] GH-106897: Add RERAISE event to sys.monitoring. (GH-107291) (GH-107346) 2023-07-28 09:48:35 +01:00
internal [3.12] gh-107080: Fix Py_TRACE_REFS Crashes Under Isolated Subinterpreters (gh-107567) (#107599) 2023-08-04 00:18:29 +02:00
abstract.h
bltinmodule.h
boolobject.h gh-84436: Implement Immortal Objects (gh-19474) 2023-04-22 13:39:37 -06:00
bytearrayobject.h
bytesobject.h
ceval.h
codecs.h
compile.h
complexobject.h
datetime.h
descrobject.h gh-103509: PEP 697 -- Limited C API for Extending Opaque Types (GH-103511) 2023-05-04 09:56:53 +02:00
dictobject.h
dynamic_annotations.h
enumobject.h
errcode.h
exports.h
fileobject.h [3.12] gh-77782: Deprecate Py_HasFileSystemDefaultEncoding (GH-106272) (#106274) 2023-06-30 10:21:36 +00:00
fileutils.h
floatobject.h
frameobject.h
genericaliasobject.h
import.h
interpreteridobject.h [3.12] gh-101524: Only Use Public C-API in the _xxsubinterpreters Module (gh-105258) (gh-107303) 2023-07-27 13:15:47 -06:00
intrcheck.h
iterobject.h
listobject.h
longobject.h
marshal.h
memoryobject.h
methodobject.h
modsupport.h [3.12] gh-107226: PyModule_AddObjectRef() should only be in the limited API 3.10 (GH-107227) (GH-107260) 2023-07-25 23:01:18 +03:00
moduleobject.h gh-99113: Add Py_MOD_PER_INTERPRETER_GIL_SUPPORTED (gh-104205) 2023-05-05 21:11:27 +00:00
object.h [3.12] gh-105059: Fix MSCV compiler warning on PyObject union (GH-107239) (#107248) 2023-07-25 15:35:49 +00:00
objimpl.h
opcode.h gh-103865: add monitoring support to LOAD_SUPER_ATTR (#103866) 2023-05-16 10:29:00 -06:00
osdefs.h
osmodule.h
patchlevel.h Post 3.12.0b4 2023-07-11 18:05:38 +02:00
py_curses.h
pybuffer.h gh-102500: Implement PEP 688 (#102521) 2023-05-04 07:59:46 -07:00
pycapsule.h
pydtrace.d
pydtrace.h
pyerrors.h
pyexpat.h
pyframe.h
pyhash.h
pylifecycle.h
pymacconfig.h
pymacro.h gh-99069: Consolidate checks for static_assert (#94766) 2023-04-05 17:09:19 +02:00
pymath.h gh-104263: Rely on Py_NAN and introduce Py_INFINITY (GH-104202) 2023-05-10 17:44:52 +01:00
pymem.h
pyport.h gh-103509: PEP 697 -- Limited C API for Extending Opaque Types (GH-103511) 2023-05-04 09:56:53 +02:00
pystate.h
pystats.h Remove useless symbol in pystats.h (#101864) 2023-04-09 14:13:21 +05:30
pystrcmp.h
pystrtod.h
Python.h
pythonrun.h
pythread.h
pytypedefs.h
rangeobject.h
README.rst
setobject.h
sliceobject.h
structmember.h
structseq.h
sysmodule.h gh-103295: expose API for writing perf map files (#103546) 2023-05-21 11:12:24 +01:00
traceback.h
tracemalloc.h GH-101520: Move tracemalloc functionality into core, leaving interface in Modules. (#104508) 2023-05-17 14:17:16 +01:00
tupleobject.h
typeslots.h
unicodeobject.h Fix typo in "expected" word in few source files (#104034) 2023-05-01 09:45:50 -06:00
warnings.h
weakrefobject.h

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/