
    (ph*                     T    S SK r S SKrS SKrS SKJr  S SKJr  S SKJ	r	J
r
Jr  S rS rg)    N)assert_)raises)ReentrancyLocknon_reentrantReentrancyErrorc                  V  ^^^^ [        S5      mS/m/ mUUU4S jm[        S5       V s/ s H  n [        R                  " U 4U4S jjS9PM      nn U H  nUR	                  5         M     U H  nUR                  5         M     SR                  T5      m[        T(       + T5        g s  sn f )NfailureFc                 2  >  T   [        TS   (       + 5        STS'   [        R                  " SU -  5        [        TS   5        STS'   S S S 5        g ! , (       d  f       g = f! [         a(    TR	                  [
        R                  " S5      5         g f = f)Nr   Tg?F   )r   timesleep	Exceptionappend	traceback
format_exc)kexceptions_raisedfailflaglocks    V/var/www/html/venv/lib/python3.13/site-packages/scipy/_lib/tests/test__threadsafety.pyworker%test_parallel_threads.<locals>.worker   sz    	>HQK("

37#$#   	>$$Y%9%9!%<=	>s/   A$ AA
A$ 
A!A$ !A$ $/BB   c                    > T" U 5      $ N )r   r   s    r   <lambda>'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                  N   ^  [        5       U 4S j5       m [        [        T S5        g )Nc                    > T" U 5      $ r   r   )xfuncs    r   r-   test_reentering.<locals>.func/   s    Awr   r   )r   assert_raisesr   )r-   s   @r   test_reenteringr0   ,   s'     _  /4+r   )r#   r   r   numpy.testingr   pytestr   r/   scipy._lib._threadsafetyr   r   r   r)   r0   r   r   r   <module>r4      s%       ! * S S6B,r   