From 24b699231bba785d30309969fec9a049b2a294ac Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 18 Sep 2025 14:17:06 +0200 Subject: [PATCH] [3.13] Document `Py_AddPendingCall()` change with subinterpreters in 3.12 (GH-139117) (GH-139119) Document `Py_AddPendingCall()` change with subinterpreters in 3.12 (GH-139117) Prior to 3.9, Py_AddPendingCall() would always run pending calls in the main interpreter, but then each interpreter got their own ceval state, and they were scheduled for any interpreter. In GH-104813, this was undone, so Py_AddPendingCall() would always schedule for the main interpreter. (cherry picked from commit 89ff88be89328964dbc50a474a84c566fe920b46) Co-authored-by: Peter Bierma --- Doc/c-api/init.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst index 7669d194d8b1..211b902ad1e4 100644 --- a/Doc/c-api/init.rst +++ b/Doc/c-api/init.rst @@ -1944,6 +1944,10 @@ pointer and a void pointer argument. called from the main interpreter. Each subinterpreter now has its own list of scheduled calls. + .. versionchanged:: 3.12 + This function now always schedules *func* to be run in the main + interpreter. + .. _profiling: Profiling and Tracing -- 2.47.3