
    tKg*                     T    d dl Z d dlZd dlZd dlmZ d dlmZ d dlm	Z	m
Z
mZ d Zd Zy)    N)assert_)raises)ReentrancyLocknon_reentrantReentrancyErrorc                  >   t        d      dgg fdt        d      D  cg c]  } t        j                  | ffd	       }} |D ]  }|j	                           |D ]  }|j                           dj                        t                y c c} w )NfailureFc                    	 5  t        d           dd<   t        j                  d| z         t        d          dd<   d d d        y # 1 sw Y   y xY w# t        $ r' j	                  t        j                  d             Y y w xY w)Nr   Tg?F   )r   timesleep	Exceptionappend	traceback
format_exc)kexceptions_raisedfailflaglocks    g/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/scipy/_lib/tests/test__threadsafety.pyworkerz%test_parallel_threads.<locals>.worker   sz    	>HQK("

37#$#   	>$$Y%9%9!%<=	>s/   A A AA AA A -B
	B
   c                      |       S N )r   r   s    r   <lambda>z'test_parallel_threads.<locals>.<lambda>!   s	    6!9    )target
)r   range	threadingThreadstartjoinr   )r   threadstr   r   r   r   s      @@@@r   test_parallel_threadsr'      s     )$DwH	> a" 1 '<=   "		 	  		"34!!#45"s   "Bc                  L     t                fd        t        t         d       y )Nc                      |       S r   r   )xfuncs    r   r+   ztest_reentering.<locals>.func/   s    Awr   r   )r   assert_raisesr   )r+   s   @r   test_reenteringr-   ,   s'     _  /4+r   )r!   r   r   numpy.testingr   pytestr   r,   scipy._lib._threadsafetyr   r   r   r'   r-   r   r   r   <module>r1      s%       ! * S S6B,r   