
    +gN                        S SK Jr  S SKrS SKJrJ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  \(       a  S SKJr  SS	 jrSS
 jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrg)    )annotationsN)TYPE_CHECKINGNoReturn)RaisesGroup   )_core)_signal_handlerget_pending_signal_countopen_signal_receiver)	FrameTypec                 $  #    [         R                  " [         R                  5      n [        [         R                  5       n[         R                  " [         R                  5        [         R                  " [         R                  5        [
        R                  " 5       I S h  vN   [         R                  " [         R                  5        [
        R                  " 5       I S h  vN   U  S h  vN nU[         R                  :X  d   e  [        U5      S:X  d   e[         R                  " [         R                  5        U  S h  vN nU[         R                  :X  d   e  [        U5      S:X  d   e S S S 5        [        R                  " [        5         WR                  5       I S h  vN   S S S 5        [         R                  " [         R                  5      U L d   eg  GN> N N
 N N
 N! , (       d  f       N= f NT! , (       d  f       NX= f7f)Nr   )signal	getsignalSIGILLr   raise_signalr   wait_all_tasks_blockedr
   pytestraisesRuntimeError	__anext__)origreceiversignums      `/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/trio/_tests/test_signals.pytest_open_signal_receiverr      sl    FMM*D	fmm	, 	FMM*FMM***,,,FMM***,,,$ 	&V]]***'1Q666FMM*$ 	&V]]***'1Q666! 
-" 
|	$  """ 
%FMM*d222 	-,	H
	H 
-	,$ 	# 
%	$s   >H A!G,!G"A G,"G"#G,)G&-G$.G&1AG, G*G(G*)G,2"HG?(G=)G?-2HG,"G,$G&&G,(G**G,,
G:6H=G??
H	Hc                 v  #    [         R                  " [         R                  5      n [        R                  " [
        SS9   [        [         R                  S5          S S S 5        S S S 5        [         R                  " [         R                  5      U L d   eg ! , (       d  f       N@= f! , (       d  f       NI= f7f)Nz2(signal number out of range|invalid signal value)$matchi )r   r   r   r   r   
ValueErrorr   r   s    r   >test_open_signal_receiver_restore_handler_after_one_bad_signalr!   *   sz     FMM*D	C
 "&--9 :	
 FMM*d222 :9	
 
s5   >B9 B(BB(%2B9
B%	!B((
B62B9c                     [         R                  " [        SS9   [        5           S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)NzNo signals were providedr   )r   r   	TypeErrorr        r   $test_open_signal_receiver_empty_failr&   6   s9    	y(B	C!# $ 
D	C## 
D	Cs   A	8A	
A	A		
Ac                 ,  #    [         R                  " [         R                  5      n [        [         R                  [         R                  5          S S S 5        [         R                  " [         R                  5      U L d   eg ! , (       d  f       N8= f7fN)r   r   r   r   r    s    r   @test_open_signal_receiver_restore_handler_after_duplicate_signalr)   <   sZ     FMM*D	fmmV]]	; 
< FMM*d222 
<	;s   ABB2B
BBc                    #    SS jn [         R                  " [        5         [        R                  R                  [        R                  U 5      I S h  vN   S S S 5        g  N! , (       d  f       g = f7f)Nc                 t   #    [        [        R                  5          S S S 5        g ! , (       d  f       g = f7fr(   )r   r   SIGINTr$   r%   r   naughty0test_catch_signals_wrong_thread.<locals>.naughtyE   s     !&--0 100s   8'	8
58returnNone)r   r   r   trio	to_threadrun_syncrun)r-   s    r   test_catch_signals_wrong_threadr6   D   sI      
|	$nn%%dhh888 
%	$8 
%	$s.    A52A$A"A$	A5"A$$
A2.A5c            	       #    [        [        R                  5         [        [        R
                  5       n [        R                  " 5        IS h  vN nUR                  U R                  5        UR                  U R                  5        S S S 5      IS h  vN   S S S 5        S S S 5        g  N[ N! , IS h  vN  (       d  f       N,= f! , (       d  f       N5= f! , (       d  f       g = f7fr(   )	r   r2   BusyResourceErrorr   r   r   open_nursery
start_soonr   )r   nurserys     r   "test_open_signal_receiver_conflictr<   M   s     	T++	,!&--0H((**g""8#5#56""8#5#56 +* 1 
-	,**** 10 
-	,s{   C,CC
B,
C
7B0C
B.C
C#	C,,C
.C
0C6B97CC


C	C
C)%C,c                    #    [         R                  " 5       n [        R                  " 5       nUR	                  U R
                  SS9  U R                  5       I S h  vN   g  N7f)NT)
idempotent)r2   Eventr   current_trio_tokenrun_sync_soonsetwait)evtokens     r   +wait_run_sync_soon_idempotent_queue_barrierrF   W   sB     	B$$&E	40
'')OOs   AA"A A"c                 X  #    [        [        R                  [        R                  5       n  [	        [        R
                  " [        R                  5      5        S n[        S5       H  n[        R                  " [        R                  5        [        R                  " [        R                  5        [        5       I S h  vN   Uc  U R                  5       I S h  vN nMz  U R                  5       I S h  vN nU[        R                  [        R                  4;   d   eX1:w  d   eUnM     [        U 5      S:w  a)  U R                  5       I S h  vN   [        U 5      S:w  a  M)  S S S 5        g  N N N| N$! [         a    SS KnUR                  5          N1f = f! , (       d  f       g = f7f)N
   r   )r   r   r   SIGFPEprintr   ranger   rF   r   r
   BaseException	traceback	print_exc)r   previous_gotrM   s        r   'test_open_signal_receiver_no_starvationrR   ^   s=     
fmmV]]	;x	"&""6==12H2Y##FMM2##FMM2ACCC#%-%7%7%99H ( 2 2 44C6==&--"@@@@?*?"H  +849((*** +849! 
<	; D94 + 	" !	"% 
<	;s   )F*FBE5?E- E5E/E54E15AE5E3E5$	F*-E5/E51E53E55FFFF
F'#F*c                 z  ^#    [        5       mSU4S jjn [        S5        [        [        R                  [        R
                  1U 5         [        [        R                  [        R
                  5       n[        R                  " [        R                  5        [        R                  " [        R
                  5        S S S 5        [        5       I S h  vN   S S S 5        T[        R                  [        R
                  1:X  d   eTR                  5         [        S5        [        [        R                  [        R
                  1U 5         [        [        R                  [        R
                  5       n[        R                  " [        R                  5        [        R                  " [        R
                  5        [        5       I S h  vN   [        U5      S:X  d   e S S S 5        S S S 5        T[        R                  [        R
                  1:X  d   eTR                  5         [        S5        [        [        R                  1[        R                  5         [        [        R                  5       n[        R                  " [        R                  5        S S S 5        [        5       I S h  vN   S S S 5        [        S5        [        [        R                  1[        R                  5         [        [        R                  5       n[        R                  " [        R                  5        [        5       I S h  vN   [        U5      S:X  d   e S S S 5        S S S 5        S	S jn[        [        R                  [        R
                  1U5         [        R                  " [        5       n[        [        R                  [        R
                  5       n[        R                  " [        R                  5        [        R                  " [        R
                  5        [        5       I S h  vN   [        U5      S:X  d   e S S S 5        S S S 5        WR                  nUR                   S   1n[#        UR$                  [        5      (       d   eUR'                  UR$                  R                   S   5        U[        R                  [        R
                  1:X  d   e S S S 5        g ! , (       d  f       GN1= f GN'! , (       d  f       GN,= f GNE! , (       d  f       GN8= f! , (       d  f       GNB= f! , (       d  f       GN= f GN! , (       d  f       GN= f GN!! , (       d  f       GN= f! , (       d  f       GN= f GNX! , (       d  f       GNK= f! , (       d  f       GNU= f! , (       d  f       g = f7f)
Nc                (   > TR                  U 5        g r(   )add)signoframedelivered_directlys     r   direct_handlerAtest_catch_signals_race_condition_on_exit.<locals>.direct_handler   s    u%r%      r         c                    [        U 5      er(   )r   )r   rW   s     r   raise_handler@test_catch_signals_race_condition_on_exit.<locals>.raise_handler   s    6""r%   r   )rV   intrW   FrameType | Noner0   r1   )r   ra   rW   rb   r0   r   )rB   rJ   r	   r   r   rI   r   r   rF   clearr
   SIG_IGNr   r   r   valueargs
isinstance__context__rU   )rY   r   r_   excinfoexcsignumsrX   s         @r   )test_catch_signals_race_condition_on_exitrl   }   s    #&5& 
!H 
&--7	H!&--?8.. @ :;;;	 
I
 &--!????	!H 
&--7	H!&--?8..=???+H5:::	 @ 
I &--!???? 
!H	&--&..	9!&--0H. 19;;; 
: 
!H	&--&..	9!&--0H.=???+H5::: 1 
:# 
&--7	G]]<(G%fmmV]]Cx##FMM2##FMM2ACCC/9Q>>>	 D ) mm88A;-#//<8888COO((+,6==&--8888 
H	GS @? 	<	 
I	H @ @? 
I	H 10; 
:	9 @ 10 
:	9" D DC )( 
H	Gsb  AV;)S<4A	S'=S<S9S<A3V;
)T#3AT	T
T T#(A2V;U
4%T5U
.U/U
3<V;/U1	2U;U<UU17V;V*,)VAV+V
,VV
BV*	V;'
S6	1	S<<
TV;T
T 	T##
T2-V;5
U	?	U


UV;U
U.	)U11
V ;V;V
VV
V'	"V**
V84V;r/   )
__future__r   r   typingr   r   r   r2   trio.testingr    r   _signalsr	   r
   r   typesr   r   r!   r&   r)   r6   r<   rF   rR   rl   r$   r%   r   <module>rs      sS    "  *   $  V V30	3397">>9r%   