mirror of https://github.com/python/cpython
bpo-44422: threading.Thread reuses the _delete() method (GH-26741)
The _bootstrap_inner() method of threading.Thread now reuses its _delete() method rather than accessing _active() directly. It became possible since _active_limbo_lock became reentrant. Moreover, it no longer ignores any exception when deleting the thread from the _active dictionary.
This commit is contained in:
parent
7cad9cb51b
commit
0729694246
|
@ -1010,13 +1010,7 @@ class Thread:
|
|||
except:
|
||||
self._invoke_excepthook(self)
|
||||
finally:
|
||||
with _active_limbo_lock:
|
||||
try:
|
||||
# We don't call self._delete() because it also
|
||||
# grabs _active_limbo_lock.
|
||||
del _active[get_ident()]
|
||||
except:
|
||||
pass
|
||||
self._delete()
|
||||
|
||||
def _stop(self):
|
||||
# After calling ._stop(), .is_alive() returns False and .join() returns
|
||||
|
|
Loading…
Reference in New Issue