zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
U
Z±d@ã@sŒddlZddlZddlZddlmZddlmZddlmZm    Z    dd„Z
dd    „Z d
d „Z d d „Z dd„Zdd„Zdd„Zdd„Zdd„ZdS)éNé)Ú_core)Ú signal_raise)Úopen_signal_receiverÚ_signal_handlerc    Ãst tj¡}ttjƒ¶}ttjƒttjƒt ¡IdHttjƒt ¡IdH|2z3dHW}|tjkspt‚qxqV6| ¡dksˆt‚ttjƒ|2z3dHW}|tjks°t‚q¸q–6| ¡dksÈt‚W5QRXt     
t ¡|  ¡IdHW5QRXt tj¡|ks t‚dS)Nr) ÚsignalÚ    getsignalÚSIGILLrrrZwait_all_tasks_blockedÚAssertionErrorÚ_pending_signal_countÚpytestÚraisesÚ RuntimeErrorÚ    __anext__)ÚorigÚreceiverÚsignum©rúNd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\trio/tests/test_signals.pyÚtest_open_signal_receiver s&  
 
 
 
 rc
ÃsRt tj¡}t t¡ttjdƒW5QRXW5QRXt tj¡|ksNt‚dS)Ni‡Ö)rrr    r r Ú
ValueErrorrr
©rrrrÚ>test_open_signal_receiver_restore_handler_after_one_bad_signal#s
  rc
Ãs0tjtddtƒW5QRXW5QRXdS)NzNo signals were provided)Úmatch)r r Ú    TypeErrorrrrrrÚ$test_open_signal_receiver_empty_fail,src    Ãs>t tj¡}ttjtjƒW5QRXt tj¡|ks:t‚dS©N)rrr    rr
rrrrÚ@test_open_signal_receiver_restore_handler_after_duplicate_signal2s 
rc    Ãs8dd„}t t¡tj tj|¡IdHW5QRXdS)Nc    ÓsttjƒW5QRXdSr)rrÚSIGINTrrrrÚnaughty;s z0test_catch_signals_wrong_thread.<locals>.naughty)r r rÚtrioZ    to_threadZrun_syncÚrun)rrrrÚtest_catch_signals_wrong_thread:s r"c Ãslt tj¡Vttjƒ@}t ¡4IdHš}| |j    ¡| |j    ¡W5QIdHRXW5QRXW5QRXdSr)
r r r ZBusyResourceErrorrrr    Z open_nurseryZ
start_soonr)rZnurseryrrrÚ"test_open_signal_receiver_conflictCs
  r#cÃs2t ¡}t ¡}|j|jdd| ¡IdHdS)NT)Z
idempotent)r ÚEventrZcurrent_trio_tokenZ run_sync_soonÚsetÚwait)ZevÚtokenrrrÚ+wait_run_sync_soon_idempotent_queue_barrierMsr(c    ÃsèttjtjƒÐ}z¬tt tj¡ƒd}tdƒD]n}ttjƒttjƒtƒIdH|dkrj|     ¡IdH}q.|     ¡IdH}|tjtjfksŒt
‚||ks˜t
‚|}q.|  ¡dkrº|     ¡IdHqžWnddl }|  ¡YnXW5QRXdS)Né
r)rrr    ÚSIGFPEÚprintrÚrangerr(rr
r Ú    tracebackÚ    print_exc)rÚpreviousÚ_Úgotr-rrrÚ'test_open_signal_receiver_no_starvationTs& 
 
   r2c ƒs¦tƒ‰‡fdd„}tdƒttjtjh|ƒ@ttjtjƒ}ttjƒttjƒW5QRXtƒIdHW5QRXˆtjtjhks†t    ‚ˆ 
¡tdƒttjtjh|ƒPttjtjƒ6}ttjƒttjƒtƒIdH|  ¡dksêt    ‚W5QRXW5QRXˆtjtjhkst    ‚ˆ 
¡tdƒttjhtj ƒ2ttjƒ}ttjƒW5QRXtƒIdHW5QRXtdƒttjhtj ƒDttjƒ.}ttjƒtƒIdH|  ¡dksºt    ‚W5QRXW5QRXdd„}ttjtjh|ƒ´t  t¡R}ttjtjƒ8}ttjƒttjƒtƒIdH|  ¡dks8t    ‚W5QRXW5QRX|j}|jd    h}t|jtƒspt    ‚| |jjd    ¡|tjtjhks˜t    ‚W5QRXdS)
Ncsˆ |¡dSr)Úadd)ZsignoÚframe©Zdelivered_directlyrrÚdirect_handlervszAtest_catch_signals_race_condition_on_exit.<locals>.direct_handleréréécSs t|ƒ‚dSr)r)rr0rrrÚ raise_handler£sz@test_catch_signals_race_condition_on_exit.<locals>.raise_handlerr)r%r+rrr    r*rrr(r
Úclearr ÚSIG_IGNr r rÚvalueÚargsÚ
isinstanceÚ __context__r3)r6rr:ÚexcinfoÚexcZsignumsrr5rÚ)test_catch_signals_race_condition_on_exitssV 
 
 
 $  
 & 
 
 & rC)rr r ÚrZ_utilrZ_signalsrrrrrrr"r#r(r2rCrrrrÚ<module>s