
    i                     .   d dl Z  e j                     d dlZd Zd ZddZ e e ej                                         d dlZ	e	j
                                         d dlZ	d dlZ	 e ee	j                                                  d           dS )	    Nc                 4    	 | j         S # t          $ r Y d S w xY wN)_blockAttributeError)locks    L/usr/local/lib/python3.11/dist-packages/gevent/tests/test__monkey_logging.py_inner_lockr	   	   s1    {   tts   	 
c                 |    t          ||          s+t          d|dt          |          d|d|d| 
          d S )Nz/Expected <object>.[_]lock._block to be of type z, but it was of type z.
	<object>.[_]lock=z
	<object>.[_]lock._block=z
	<object>=)
isinstanceAssertionErrortype)rootr   inner_semaphorekinds       r   _check_typer      sd    ot,, 
n _%%%%

 
 	

 
    Tc                 F   t           j        }|sJ |D ]M}t          |          r
 |            n|}t          |j                  }||r6t          ||j        ||            Nt          t           j                  }||rd S t          t           t           j        ||            d S r   )logging_handlerListcallabler	   r   r   _lock)r   ignore_nonehandlersweakrefhandlerblockattrs          r   
checkLocksr       s    #HOOO 8 8'00='')))gGL))=[=GW\5$7777w}%%D||d33333r   F)r   )T)r   basicConfig	threadingr	   r   r   r   _allocate_lockgevent.monkeygeventmonkey	patch_allgevent.lockgevent.threadthreadallocate_lock r   r   <module>r+      s               
 
 
 4 4 4 4" 
44(	(**++ , , ,                   

44++--..E B B B B B Br   