
    Ǆg                     P    d dl Z d dlZd dlmc mZ  G d de      Z e       Zd Z	y)    Nc                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
_CompilerLockc                 6    t        j                         | _        y N)	threadingRLock_lockselfs    `/home/mcse/projects/flask_80/flask-venv/lib/python3.12/site-packages/numba/core/compiler_lock.py__init__z_CompilerLock.__init__   s    __&
    c                 b    t        j                  d       | j                  j                          y Nznumba:compiler_lock)evstart_eventr	   acquirer
   s    r   r   z_CompilerLock.acquire   s    
,-

r   c                 b    | j                   j                          t        j                  d       y r   )r	   releaser   	end_eventr
   s    r   r   z_CompilerLock.release   s    


*+r   c                 $    | j                          y r   )r   r
   s    r   	__enter__z_CompilerLock.__enter__       r   c                 $    | j                          y r   )r   )r   exc_valexc_type	tracebacks       r   __exit__z_CompilerLock.__exit__   r   r   c                 j    t        | j                  d      }t        |      s| j                  } |       S )N	_is_owned)getattrr	   callabler    )r   is_owneds     r   	is_lockedz_CompilerLock.is_locked   s+    4::{3!~~Hzr   c                 F     t        j                         fd       }|S )Nc                  D    5   | i |cd d d        S # 1 sw Y   y xY wr    )argskwargsfuncr   s     r   _acquire_compile_lockz5_CompilerLock.__call__.<locals>._acquire_compile_lock    s(     -T,V,- - -s   )	functoolswraps)r   r*   r+   s   `` r   __call__z_CompilerLock.__call__   s&    			- 
	- %$r   c                 p    | j                   j                  d      r| j                   j                          yy)Nr   FT)r	   r   r   r
   s    r   r    z_CompilerLock._is_owned&   s,     ::a JJ r   N)__name__
__module____qualname__r   r   r   r   r   r$   r.   r    r'   r   r   r   r      s*    ',%r   r   c                  0    t         j                         sJ y)z=Sentry that checks the global_compiler_lock is acquired.
    N)global_compiler_lockr$   r'   r   r   require_global_compiler_lockr5   4   s      ))+++r   )
r   r,   numba.core.eventcoreeventr   objectr   r4   r5   r'   r   r   <module>r:      s-       'F 'T % ,r   