https://github.com/python/cpython/commit/5d72b753889977fa6d2d015499de03f94e16b035
commit: 5d72b753889977fa6d2d015499de03f94e16b035
branch: main
author: Sam Gross <[email protected]>
committer: colesbury <[email protected]>
date: 2024-03-12T17:12:02Z
summary:

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.

files:
M Python/gc_free_threading.c

diff --git a/Python/gc_free_threading.c b/Python/gc_free_threading.c
index 59e76012f8fc50..2b13d1f005dd97 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);
 }
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to