From 5d72b753889977fa6d2d015499de03f94e16b035 Mon Sep 17 00:00:00 2001 From: Sam Gross Date: Tue, 12 Mar 2024 13:12:02 -0400 Subject: 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. --- Python/gc_free_threading.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Python/gc_free_threading.c b/Python/gc_free_threading.c index 59e7601..2b13d1f 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); } -- cgit v0.12