mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +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 @@ | |||
|     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
	
	 R David Murray
						R David Murray