cpython/Doc/c-api
Jeremy Maitin-Shepard 8cc5aa47ee
gh-87135: Hang non-main threads that attempt to acquire the GIL during finalization (GH-105805)
Instead of surprise crashes and memory corruption, we now hang threads that attempt to re-enter the Python interpreter after Python runtime finalization has started. These are typically daemon threads (our long standing mis-feature) but could also be threads spawned by extension modules that then try to call into Python. This marks the `PyThread_exit_thread` public C API as deprecated as there is no plausible safe way to accomplish that on any supported platform in the face of things like C++ code with finalizers anywhere on a thread's stack. Doing this was the least bad option.

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2024-10-02 09:17:49 -07:00
..
abstract.rst
allocation.rst Update PyObject_Del() documentation (#122597) 2024-08-02 12:13:33 +02:00
apiabiversion.rst
arg.rst gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
bool.rst
buffer.rst gh-123609: Clarify usage of standalone PyBUF_FORMAT (GH-123778) 2024-09-10 15:05:28 +02:00
bytearray.rst gh-122623: Improve c-api/bytearray.rst with error handling info (#122624) 2024-08-04 00:55:47 +03:00
bytes.rst gh-121645: Fix typo in PyBytes_Join() doc (#123783) 2024-09-06 16:08:17 +02:00
call.rst
capsule.rst
cell.rst gh-121533: Improve PyCell_[Get,Set] docs: mention the exceptions (#121534) 2024-07-09 18:47:35 +03:00
code.rst Use pep role instead of url (#121611) 2024-09-17 16:02:14 +03:00
codec.rst
complex.rst gh-119771: Set errno on overflows in _Py_c_pow() (#120256) 2024-09-18 10:39:11 +02:00
concrete.rst
contextvars.rst gh-119333: Add C api to have contextvar enter/exit callbacks (#119335) 2024-09-23 20:40:17 -07:00
conversion.rst
coro.rst
datetime.rst gh-123517: Remove unnecessary `:meth:` parentheses (#123518) 2024-09-01 05:59:42 +01:00
descriptor.rst
dict.rst Fix phrasing in paragraphs with leading "similar" (#121135) 2024-07-01 17:36:27 -07:00
exceptions.rst gh-101100: Add a table of class attributes to the "Custom classes" section of the data model docs (#124480) 2024-09-25 19:29:58 +00:00
file.rst
float.rst gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
frame.rst
function.rst
gcsupport.rst
gen.rst
hash.rst gh-122854: Add Py_HashBuffer() function (#122855) 2024-08-30 15:42:27 +00:00
import.rst gh-123492: Remove unnecessary :func: parentheses (#123493) 2024-08-30 14:34:09 +03:00
index.rst
init.rst gh-87135: Hang non-main threads that attempt to acquire the GIL during finalization (GH-105805) 2024-10-02 09:17:49 -07:00
init_config.rst gh-107954: Fix configuration type for the perf profiler (#124636) 2024-09-28 01:50:16 +02:00
intro.rst
iter.rst gh-105201: Add PyIter_NextItem() (#122331) 2024-08-08 00:47:15 +02:00
iterator.rst
list.rst gh-121403: Add notes for PyList_GetXXX APIs about the need for init (gh-121626) 2024-07-16 10:16:41 +09:00
long.rst gh-124385: Document and soft-deprecate PyLong_AS_LONG (GH-124386) 2024-09-27 23:40:50 +00:00
mapping.rst
marshal.rst gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
memory.rst gh-119802: Update memory management docs for free-threaded build (gh-124006) 2024-09-13 15:15:44 +00:00
memoryview.rst
method.rst
module.rst gh-118915: Add/fix docs entries for some new 3.13 C API (GH-124134) 2024-09-18 14:15:43 +02:00
monitoring.rst GH-109975: Copyedit 3.13 What's New: C API (#124313) 2024-09-23 14:28:17 +01:00
none.rst
number.rst gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
object.rst gh-101100: Add a table of class attributes to the "Custom classes" section of the data model docs (#124480) 2024-09-25 19:29:58 +00:00
objimpl.rst
perfmaps.rst
refcounting.rst Use pep role instead of url (#121611) 2024-09-17 16:02:14 +03:00
reflection.rst
sequence.rst
set.rst
slice.rst gh-121567: Improve slice C-API docs by mentioning exceptions (#121568) 2024-07-10 13:56:44 +03:00
stable.rst
structures.rst gh-123465: Allow Py_RELATIVE_OFFSET for __*offset__ members (GH-123474) 2024-09-05 14:14:05 +02:00
sys.rst
time.rst GH-109975: Copyedit 3.13 What's New: C API (#124313) 2024-09-23 14:28:17 +01:00
tuple.rst gh-123254: Improve tuple C API docs with more info about errors (#123255) 2024-08-28 10:30:21 +03:00
type.rst gh-101100: Add a table of class attributes to the "Custom classes" section of the data model docs (#124480) 2024-09-25 19:29:58 +00:00
typehints.rst
typeobj.rst gh-101100: Add a table of class attributes to the "Custom classes" section of the data model docs (#124480) 2024-09-25 19:29:58 +00:00
unicode.rst doc: PyUnicode_AsUTF8String() fails if string contains surrogates (#124605) 2024-09-27 20:13:29 +00:00
utilities.rst
veryhigh.rst
weakref.rst