mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	gh-114315: Make threading.Lock a real class, not a factory function (#114479)
				
					
				
			`threading.Lock` is now the underlying class and is constructable rather than the old factory function. This allows for type annotations to refer to it which had no non-ugly way to be expressed prior to this. --------- Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Gregory P. Smith <greg@krypto.org>
This commit is contained in:
		
							parent
							
								
									b52fc70d1a
								
							
						
					
					
						commit
						d96358ff9d
					
				
					 5 changed files with 52 additions and 14 deletions
				
			
		|  | @ -5,7 +5,6 @@ | |||
| import _thread | ||||
| import functools | ||||
| import warnings | ||||
| import _weakref | ||||
| 
 | ||||
| from time import monotonic as _time | ||||
| from _weakrefset import WeakSet | ||||
|  | @ -37,6 +36,7 @@ | |||
| _start_joinable_thread = _thread.start_joinable_thread | ||||
| _daemon_threads_allowed = _thread.daemon_threads_allowed | ||||
| _allocate_lock = _thread.allocate_lock | ||||
| _LockType = _thread.LockType | ||||
| _set_sentinel = _thread._set_sentinel | ||||
| get_ident = _thread.get_ident | ||||
| _is_main_interpreter = _thread._is_main_interpreter | ||||
|  | @ -115,7 +115,7 @@ def gettrace(): | |||
| 
 | ||||
| # Synchronization classes | ||||
| 
 | ||||
| Lock = _allocate_lock | ||||
| Lock = _LockType | ||||
| 
 | ||||
| def RLock(*args, **kwargs): | ||||
|     """Factory function that returns a new reentrant lock. | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Nikita Sobolev
						Nikita Sobolev