From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Thu, 18 Sep 2025 12:17:06 +0000 (+0200) Subject: [3.13] Document `Py_AddPendingCall()` change with subinterpreters in 3.12 (GH-139117... X-Git-Tag: v3.13.8~50 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=24b699231bba785d30309969fec9a049b2a294ac;p=thirdparty%2FPython%2Fcpython.git [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 --- 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