]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.13] gh-117657: Fix race involving immortalizing objects (GH-119927) (#120005)
authorSam Gross <colesbury@gmail.com>
Mon, 3 Jun 2024 22:21:32 +0000 (18:21 -0400)
committerGitHub <noreply@github.com>
Mon, 3 Jun 2024 22:21:32 +0000 (22:21 +0000)
commitae705319fcde864b504987dc8e579e3eef68e1e5
tree022166446a352d99b784b44a86f163bec179e94d
parentca37034baa2909722df58c02dfd13e1d667252ce
[3.13] gh-117657: Fix race involving immortalizing objects (GH-119927) (#120005)

The free-threaded build currently immortalizes objects that use deferred
reference counting (see gh-117783). This typically happens once the
first non-main thread is created, but the behavior can be suppressed for
tests, in subinterpreters, or during a compile() call.

This fixes a race condition involving the tracking of whether the
behavior is suppressed.

(cherry picked from commit 47fb4327b5c405da6df066dcaa01b7c1aefab313)
Include/internal/pycore_gc.h
Lib/test/support/__init__.py
Modules/_testinternalcapi.c
Objects/codeobject.c
Objects/object.c
Python/bltinmodule.c
Python/gc_free_threading.c
Python/pystate.c
Tools/tsan/suppressions_free_threading.txt