From: Sam Gross Date: Tue, 12 Mar 2024 17:12:02 +0000 (-0400) Subject: gh-116604: Check for `gcstate->enabled` in _Py_RunGC in free-threaded build (#116663) X-Git-Tag: v3.13.0a5~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5d72b753889977fa6d2d015499de03f94e16b035;p=thirdparty%2FPython%2Fcpython.git gh-116604: Check for `gcstate->enabled` in _Py_RunGC in free-threaded build (#116663) This isn't strictly necessary because the implementation of `gc_should_collect` already checks `gcstate->enabled` in the free-threaded build, but it seems like a good idea until the common pieces of gc.c and gc_free_threading.c are refactored out. --- diff --git a/Python/gc_free_threading.c b/Python/gc_free_threading.c index 59e76012f8fc..2b13d1f005dd 100644 --- a/Python/gc_free_threading.c +++ b/Python/gc_free_threading.c @@ -1603,6 +1603,10 @@ _PyObject_GC_Link(PyObject *op) void _Py_RunGC(PyThreadState *tstate) { + GCState *gcstate = get_gc_state(); + if (!gcstate->enabled) { + return; + } gc_collect_main(tstate, 0, _Py_GC_REASON_HEAP); }