bpo-25821: Fix inaccuracy in threading.enumerate/is_alive documentation (GH-23192) (#26035)
(cherry picked from commit 12e7d10dfd28d4e26304e2c06b2e41c7418ec6f3)
Co-authored-by: Irit Katriel <iritkatriel@yahoo.com>
diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst
index 16f23c3..8c76643 100644
--- a/Doc/library/threading.rst
+++ b/Doc/library/threading.rst
@@ -121,10 +121,11 @@
.. function:: enumerate()
- Return a list of all :class:`Thread` objects currently alive. The list
- includes daemonic threads, dummy thread objects created by
- :func:`current_thread`, and the main thread. It excludes terminated threads
- and threads that have not yet been started.
+ Return a list of all :class:`Thread` objects currently active. The list
+ includes daemonic threads and dummy thread objects created by
+ :func:`current_thread`. It excludes terminated threads and threads
+ that have not yet been started. However, the main thread is always part
+ of the result, even when terminated.
.. function:: main_thread()
diff --git a/Lib/threading.py b/Lib/threading.py
index 4dcf847..fb70abd 100644
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -1130,8 +1130,8 @@ def is_alive(self):
"""Return whether the thread is alive.
This method returns True just before the run() method starts until just
- after the run() method terminates. The module function enumerate()
- returns a list of all alive threads.
+ after the run() method terminates. See also the module function
+ enumerate().
"""
assert self._initialized, "Thread.__init__() not called"