From fc5526fb6deef2dbfbd4d788fbf2fc4afd9174ac Mon Sep 17 00:00:00 2001 From: Kumar Aditya Date: Tue, 2 Jun 2026 13:54:28 +0530 Subject: [PATCH 1/2] expose _PyGC_VisitFrameStack and _PyGC_VisitStackRef --- Include/internal/pycore_gc.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Include/internal/pycore_gc.h b/Include/internal/pycore_gc.h index bfe52f42f1141c..9ec0ae2705d06b 100644 --- a/Include/internal/pycore_gc.h +++ b/Include/internal/pycore_gc.h @@ -335,8 +335,8 @@ extern void _Py_RunGC(PyThreadState *tstate); union _PyStackRef; // GC visit callback for tracked interpreter frames -extern int _PyGC_VisitFrameStack(_PyInterpreterFrame *frame, visitproc visit, void *arg); -extern int _PyGC_VisitStackRef(union _PyStackRef *ref, visitproc visit, void *arg); +PyAPI_FUNC(int) _PyGC_VisitFrameStack(_PyInterpreterFrame *frame, visitproc visit, void *arg); +PyAPI_FUNC(int) _PyGC_VisitStackRef(union _PyStackRef *ref, visitproc visit, void *arg); #ifdef Py_GIL_DISABLED extern void _PyGC_VisitObjectsWorldStopped(PyInterpreterState *interp, From 3104b18eebc5baba07ad673c7fc034f636b36553 Mon Sep 17 00:00:00 2001 From: Kumar Aditya Date: Tue, 2 Jun 2026 14:07:51 +0530 Subject: [PATCH 2/2] add comment --- Include/internal/pycore_gc.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Include/internal/pycore_gc.h b/Include/internal/pycore_gc.h index 9ec0ae2705d06b..84cbb56a919215 100644 --- a/Include/internal/pycore_gc.h +++ b/Include/internal/pycore_gc.h @@ -335,6 +335,7 @@ extern void _Py_RunGC(PyThreadState *tstate); union _PyStackRef; // GC visit callback for tracked interpreter frames +// GH-150766: exported for greenlet PyAPI_FUNC(int) _PyGC_VisitFrameStack(_PyInterpreterFrame *frame, visitproc visit, void *arg); PyAPI_FUNC(int) _PyGC_VisitStackRef(union _PyStackRef *ref, visitproc visit, void *arg);