https://github.com/python/cpython/commit/fa245df4a0848c15cf8d907c10fc92819994b866
commit: fa245df4a0848c15cf8d907c10fc92819994b866
branch: main
author: Sergey Miryanov <[email protected]>
committer: ZeroIntensity <[email protected]>
date: 2025-11-14T14:55:04Z
summary:

GH-141509: Fix warning about remaining subinterpreters (GH-141528)

Co-authored-by: Peter Bierma <[email protected]>

files:
A 
Misc/NEWS.d/next/Core_and_Builtins/2025-11-14-00-19-45.gh-issue-141528.VWdax1.rst
M Lib/test/test_interpreters/test_api.py
M Python/pylifecycle.c

diff --git a/Lib/test/test_interpreters/test_api.py 
b/Lib/test/test_interpreters/test_api.py
index 9a5ee03e4722c0..fd9e46bf335fad 100644
--- a/Lib/test/test_interpreters/test_api.py
+++ b/Lib/test/test_interpreters/test_api.py
@@ -432,7 +432,7 @@ def test_cleanup_in_repl(self):
         exit()"""
         stdout, stderr = repl.communicate(script)
         self.assertIsNone(stderr)
-        self.assertIn(b"remaining subinterpreters", stdout)
+        self.assertIn(b"Interpreter.close()", stdout)
         self.assertNotIn(b"Traceback", stdout)
 
     @support.requires_subprocess()
diff --git 
a/Misc/NEWS.d/next/Core_and_Builtins/2025-11-14-00-19-45.gh-issue-141528.VWdax1.rst
 
b/Misc/NEWS.d/next/Core_and_Builtins/2025-11-14-00-19-45.gh-issue-141528.VWdax1.rst
new file mode 100644
index 00000000000000..a51aa49522866b
--- /dev/null
+++ 
b/Misc/NEWS.d/next/Core_and_Builtins/2025-11-14-00-19-45.gh-issue-141528.VWdax1.rst
@@ -0,0 +1,3 @@
+Suggest using :meth:`concurrent.interpreters.Interpreter.close` instead of the
+private ``_interpreters.destroy`` function when warning about remaining 
subinterpreters.
+Patch by Sergey Miryanov.
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 805805ef188e83..67368b5ce077aa 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -2643,7 +2643,7 @@ finalize_subinterpreters(void)
     (void)PyErr_WarnEx(
             PyExc_RuntimeWarning,
             "remaining subinterpreters; "
-            "destroy them with _interpreters.destroy()",
+            "close them with Interpreter.close()",
             0);
 
     /* Swap out the current tstate, which we know must belong

_______________________________________________
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