summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorEric Snow <ericsnowcurrently@gmail.com>2023-12-07 20:22:15 (GMT)
committerGitHub <noreply@github.com>2023-12-07 20:22:15 (GMT)
commit64d8b4c7099a6097a7f7340c575679c5622fcd5c (patch)
tree978c3417e632e041adf750c48487aee4c47e87ab /Doc
parentcf6110ba1337cb67e5867d86e7c0e8d923a5bc8d (diff)
downloadcpython-64d8b4c7099a6097a7f7340c575679c5622fcd5c.zip
cpython-64d8b4c7099a6097a7f7340c575679c5622fcd5c.tar.gz
cpython-64d8b4c7099a6097a7f7340c575679c5622fcd5c.tar.bz2
gh-112826: Add a "What's New" Entry About _thread._is_main_interpreter (gh-112853)
As of gh-112661, the threading module expects the _thread module to have a _is_main_interpreter(), which is used in the internal threading._shutdown(). This change causes a problem for anyone that replaces the _thread module with a custom one (only if they don't provide _is_main_interpreter()). They need to be sure to add it for 3.13+, thus this PR is adding a note in "What's New". This also forward-ports the "What's New" entry from 3.12 (gh-112850). Note that we do not also forward-port the fix in that PR. The fix is there only due to a regression from 3.12.0. There is no regression in 3.13+.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/whatsnew/3.12.rst9
-rw-r--r--Doc/whatsnew/3.13.rst10
2 files changed, 19 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.12.rst b/Doc/whatsnew/3.12.rst
index 07d22a4..8551b35 100644
--- a/Doc/whatsnew/3.12.rst
+++ b/Doc/whatsnew/3.12.rst
@@ -1895,6 +1895,15 @@ Changes in the Python API
* Mixing tabs and spaces as indentation in the same file is not supported anymore and will
raise a :exc:`TabError`.
+* The :mod:`threading` module now expects the :mod:`!_thread` module to have
+ an ``_is_main_interpreter`` attribute. It is a function with no
+ arguments that returns ``True`` if the current interpreter is the
+ main interpreter.
+
+ Any library or application that provides a custom ``_thread`` module
+ should provide ``_is_main_interpreter()``.
+ (See :gh:`112826`.)
+
Build Changes
=============
diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst
index 9adf7a3..4401deb 100644
--- a/Doc/whatsnew/3.13.rst
+++ b/Doc/whatsnew/3.13.rst
@@ -1082,6 +1082,16 @@ Changes in the Python API
retrieve a username, instead of :exc:`ImportError` on non-Unix platforms or
:exc:`KeyError` on Unix platforms where the password database is empty.
+* The :mod:`threading` module now expects the :mod:`!_thread` module to have
+ an ``_is_main_interpreter`` attribute. It is a function with no
+ arguments that returns ``True`` if the current interpreter is the
+ main interpreter.
+
+ Any library or application that provides a custom ``_thread`` module
+ must provide ``_is_main_interpreter()``, just like the module's
+ other "private" attributes.
+ (See :gh:`112826`.)
+
Build Changes
=============