fix Thread.ident when it is the main thread or a dummy thread #5632
diff --git a/Lib/threading.py b/Lib/threading.py
index 28a8a2f..13409db 100644
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -500,9 +500,12 @@
return
raise
+ def _set_ident(self):
+ self.__ident = _get_ident()
+
def __bootstrap_inner(self):
try:
- self.__ident = _get_ident()
+ self._set_ident()
self.__started.set()
with _active_limbo_lock:
_active[self.__ident] = self
@@ -733,6 +736,7 @@
def __init__(self):
Thread.__init__(self, name="MainThread")
self._Thread__started.set()
+ self._set_ident()
with _active_limbo_lock:
_active[_get_ident()] = self
@@ -778,6 +782,7 @@
del self._Thread__block
self._Thread__started.set()
+ self._set_ident()
with _active_limbo_lock:
_active[_get_ident()] = self