python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_threadsignals.cpython-312.opt-1.pyc

Αe($dZddlZddlZddlZddlZddlmZddlZddl	Z	ejdddk(rejdejzejZ
ejZej j"dk(xrej j$dk(Zd	Zd
ZdZej.ej0eedd
Gddej4ZdZedk(rej<yy)z6PyUnit testing that threads honor our signal semanticsN)threading_helperwinzCan't test signal on %spthreadz
mutex+condctjtj|}tjtj|}tjtj|}|||fSN)signalSIGUSR1SIGUSR2SIGALRM)for_usr1for_usr2for_alrmusr1usr2alrms      K/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_threadsignals.pyregisterSignalsrsK==2D==2D==2Dtcht|dxxdz
cc<tjt|d<y)Ntripped
tripped_by)signal_blackboardthread	get_ident)sigframes  rhandle_signalsrs0c9%*%+1+;+;+=c<(rctjttjtjttj
tjyr)oskillprocess_pidr	r
r
signalled_allreleaserrsend_signalsr'"s2GGK(GGK(ralarmztest requires signal.alarmcveZdZdZdZdZejedeje	jjdxre	jjdeje	jjddd	Zejedeje	jjdxre	jjdeje	jjddd
ZdZdZd
ZdZy)
ThreadSignalsctj5tj|j	tjdddt
tjddk(st
tjddk(r?	t
jdt
jt
jd|jt
tjdd|jt
tjdtj|jt
tjdd|jt
tjdtjtjy#1swYdxYw#t
jdwxYw)Nrrrr)rwait_threads_exitr$acquirespawnSignallingThreadrr	r
rr(pauseassertEqualrrr%selfs rtest_signalszThreadSignals.test_signals,sI

/
/
1	$

!!#&&(!!#	$V^^,Y71</	:a?
 QQ+FNN;IFJ+FNN;LI!++-	/+FNN;IFJ+FNN;LI!++-	/;	$	$*Qs9F0)F=0F:=Gc8tjtdy)Nr&)rstart_new_threadr'r1s rr.z#ThreadSignals.spawnSignallingThreadLsb1rctr)KeyboardInterrupt)r2rrs   ralarm_interruptzThreadSignals.alarm_interruptOsrz/POSIX condition variables cannot be interruptedlinuxzBIssue 34004: musl does not allow interruption of locks by signals.openbsdz%lock cannot be interrupted on OpenBSDctjtj|j}	tj}|jtjdtj}|jt|j
dtj|z
}|j|dtjdtjtj|y#tjdtjtj|wxYw)Nrtimeout@r)r	rr8r
allocate_lockr-r(time	monotonicassertRaisesr7
assertLess)r2oldalrmlockt1dts     rtest_lock_acquire_interruptionz,ThreadSignals.test_lock_acquire_interruptionRs--0D0DE	3'')DLLNLLO!B/qI!B&B

OOB$LLOMM&..'2
LLOMM&..'2sBD;D=c~tjtj|j}	tjfd}tj5tj|djdr8jtjdjdr8tjdtj}|jtjdtj|z
}|j!|d	dddtjd
tjtj|y#1swYCxYw#tjd
tjtj|wxYw)Nc&jyr)r-)rlocksrother_threadzCThreadSignals.test_rlock_acquire_interruption.<locals>.other_threads

rr&Fblocking{Gz?rr<r=r?r)r	rr8rRLockrr,r5r-r%rAsleepr(rBrCr7rD)r2rErMrGrHrLs     @rtest_rlock_acquire_interruptionz-ThreadSignals.test_rlock_acquire_interruptionqs+--0D0DE	3LLNE
 "335
)''b9mmUm3MMOJJt$mmUm3Q^^%!!"3U]]A!N^^%*C(
)
LLOMM&..'2
)
)
LLOMM&..'2s+-FA E5?A4E53F5E>:F;F<cd_fd}tjtj|}	fd}tj5tj|djdr8jtjdjdr8j}jjj|dddtjtj|y#1swY.xYw#tjtj|wxYw)NFcd_y)NT)	sig_recvd)r	rr2s  r
my_handlerz9ThreadSignals.acquire_retries_on_intr.<locals>.my_handlers
!DNrcjtjdtjt
tjtjdjy)N?)	r-rArRr!r"r#r	r
r%)rFsrrMz;ThreadSignals.acquire_retries_on_intr.<locals>.other_threadsC

3V^^4

3rr&rNrP)rVr	r
rr,rr5r-r%rArR
assertTrue)r2rFrWold_handlerrMresults``    racquire_retries_on_intrz%ThreadSignals.acquire_retries_on_intrs	"mmFNNJ?	7
"335
(''b9llEl2LLNJJt$llEl2/'
(
MM&..+6
(
(
MM&..+6s*D#
A D.<D*D#D D##&E	cJ|jtjyr)r]rr@r1s r!test_lock_acquire_retries_on_intrz/ThreadSignals.test_lock_acquire_retries_on_intrs$$V%9%9%;<rcJ|jtjyr)r]rrQr1s r"test_rlock_acquire_retries_on_intrz0ThreadSignals.test_rlock_acquire_retries_on_intrs$$V\\^4rcPd_d_d_tjjtjjfd}t
jtj|}	fd}fd}tj5tj|d|jjjjz
djjjz
djjddddt
jtj|y#1swY.xYw#t
jtj|wxYw)Nrc0xjdz
c_y)Nr)
sigs_recvd)signumrr2s  rrWz@ThreadSignals.test_interrupted_timed_acquire.<locals>.my_handlersOOq Orctj_jdtj_y)NrYr=)rArBstartr-end)rFr2sr
timed_acquirezCThreadSignals.test_interrupted_timed_acquire.<locals>.timed_acquires-!^^-
S)>>+rctdD]?}tjdtjt
tjAjy)N(g{Gz?)	rangerArRr!r"r#r	r
r%)_dones rr'zBThreadSignals.test_interrupted_timed_acquire.<locals>.send_signalss?r9AJJt$GGK89rr&g@g333333?)
rgrhrdrr@r-r	r
rr,r5rD
assertGreater)r2rWr[rir'rnrFs`    @@rtest_interrupted_timed_acquirez,ThreadSignals.test_interrupted_timed_acquires*
##%##%	!mmFNNJ?	7
,
"335

7''b94:: 5s;""488djj#8#>""4??A6

7
MM&..+6

7

7
MM&..+6s%E?*BE3E?3E<8E??&F%N)__name__
__module____qualname__r3r.r8unittestskipIfUSING_PTHREAD_CONDsysplatform
startswiththread_infoversionrIrSr]r_rarpr&rrr*r*(sC @2 X__'FHX__S\\,,W51000#$
X__S\\,,Y7<>3>$H3,X__'FHX__S\\,,W51000#$
X__S\\,,Y7<>3>$H3:7@=5,7rr*ctjdddtjdddtjdddiatttt}tjt
g|y)Nr)rr)	r	r
rrrrrrtaddModuleCleanup)oldsigss rsetUpModulersZ!..q+K ..q+K ..q+KNnnnMGo88r__main__)__doc__rtr	r!rwtest.supportr_threadrrArxSkipTestgetpidr#r@r$rznamerFrvrrr'requires_working_threading
skipUnlesshasattrTestCaser*rrqmainr&rr<module>rs<
	
)LL!
(

5D
EEbiik"f""$
oo**i7?//..,>>
-,,.WVW-/KL7H%%7M/7D9zHMMOr