mirror of
https://github.com/python/cpython.git
synced 2025-08-23 18:24:46 +00:00
#11866: Eliminate race condition in the computation of names for new threads.
Original patch by Peter Saveliev.
This commit is contained in:
parent
e1618491ad
commit
b186f1df41
2 changed files with 7 additions and 5 deletions
|
@ -9,7 +9,7 @@ except ImportError:
|
|||
from time import time as _time
|
||||
from traceback import format_exc as _format_exc
|
||||
from _weakrefset import WeakSet
|
||||
from itertools import islice as _islice
|
||||
from itertools import islice as _islice, count as _count
|
||||
try:
|
||||
from _collections import deque as _deque
|
||||
except ImportError:
|
||||
|
@ -726,11 +726,10 @@ class BrokenBarrierError(RuntimeError):
|
|||
|
||||
|
||||
# Helper to generate new thread names
|
||||
_counter = 0
|
||||
_counter = _count().__next__
|
||||
_counter() # Consume 0 so first non-main thread has id 1.
|
||||
def _newname(template="Thread-%d"):
|
||||
global _counter
|
||||
_counter += 1
|
||||
return template % _counter
|
||||
return template % _counter()
|
||||
|
||||
# Active thread administration
|
||||
_active_limbo_lock = _allocate_lock()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue