U
    ð¤ùdÊ  ã                   @   sX   U d dl Z d dlZd dlZee dƒZe ¡ Zejed< ejdœdd„Z	ddœdd„Z
dS )	é    NÚregister_at_forkÚ_forkable_locks)Úreturnc                  C   s   t  ¡ } trt | ¡ | S )zpRepresents a lock that is tracked upon instantiation using a WeakSet and
    reset by pymongo upon forking.
    )Ú	threadingÚLockÚ_HAS_REGISTER_AT_FORKr   Úadd©Úlock© r   ú0/tmp/pip-unpacked-wheel-oblwsawz/pymongo/lock.pyÚ_create_lock   s    
r   c                  C   s   t D ]} |  ¡ r|  ¡  qd S )N)r   ÚlockedÚreleaser	   r   r   r   Ú_release_locks#   s    r   )Úosr   ÚweakrefÚhasattrr   ÚWeakSetr   Ú__annotations__r   r   r   r   r   r   r   Ú<module>   s    

