
    [e                        d dl mZ d dlZd dlZd dlZd dlmZ d dlZ	 d dlZn# e	$ r dZY nw xY wej
        d             Zej
        d             Zej
        d             ZdS )    )annotationsNThreadPoolExecutorc               #     K   t           j        dk    st          d V  d S t          j                    } |                                 }d V  t          j                     |                                 |k    sJ d S )Nwin32)sysplatformpsutilProcessnum_fdsgccollect)procbefores     3lib/python3.11/site-packages/zict/tests/conftest.pycheck_fd_leaksr      sq      
|w&.~

||~~''''''    c               #  x   K   t          d          5 d fd} | V  ddd           dS # 1 swxY w Y   dS )zNCallable that returns True if the parameter zict mapping has its RLock engaged   c                t    | j                             d          }|r| j                                          | S )NF)blocking)lockacquirerelease)douts     r   __is_lockedzis_locked.<locals>.__is_locked!   s8    &..%.00C !   7Nr   c                T                         |                                           S )N)submitresult)r   r   exs    r   
_is_lockedzis_locked.<locals>._is_locked'   s#    99[!,,33555r   Nr   )r"   r   r!   s    @@r   	is_lockedr#      s       
A		 "	 	 		6 	6 	6 	6 	6 	6                  s   /33c               #     K   t          j                    d V  fdt          j                    D             } | rt          d|            d S )Nc                    g | ]}|v|	S  r&   ).0threadactive_threads_starts     r   
<listcomp>z&check_thread_leaks.<locals>.<listcomp>3   s+       fDX6X6X6X6X6Xr   zLeaked thread(s): )	threading	enumerateRuntimeError)bad_threadsr)   s    @r   check_thread_leaksr/   -   s{      $.00	EEE   &022  K  ?===>>>? ?r   )
__future__r   r   r   r+   concurrent.futuresr   pytestr
   ImportErrorfixturer   r#   r/   r&   r   r   <module>r5      s    " " " " " " 				 



     1 1 1 1 1 1 MMMM   FFF ( ( (     	? 	? 	? 	? 	?s   # --