Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/test/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/test/__pycache__/test_threadsignals.cpython-33.pyo

�
��f�#c@sDdZddlZddlZddlZddlZddlmZmZed�Zddl	Z	ej
dd�dks�ej
dkr�ejd	ej
��nej�Z
ej�Zejjd
ko�ejjdkZdd
�Zdd�Zdd�ZGdd�dej�Zdd�Zedkr@e�ndS(u6PyUnit testing that threads honor our signal semanticsiN(urun_unittestu
import_moduleu_threadiuwinuos2uriscosuCan't test signal on %supthreadu
mutex+condcCsLtjtj|�}tjtj|�}tjtj|�}|||fS(N(usignaluSIGUSR1uSIGUSR2uSIGALRM(ufor_usr1ufor_usr2ufor_alrmuusr1uusr2ualrm((u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyuregisterSignalssuregisterSignalscCs*t|dd7<tj�t|d<dS(Nutrippediu
tripped_by(usignal_blackboarduthreadu	get_ident(usiguframe((u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyuhandle_signalssuhandle_signalscCs4tjttj�tjttj�tj�dS(N(uosukilluprocess_pidusignaluSIGUSR1uSIGUSR2u
signalled_allurelease(((u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyusend_signals"susend_signalscBs�|EeZdZdd�Zdd�Zdd�Zejed�dd	��Z	ejed�d
d��Z
dd
�Zdd�Zdd�Z
dd�ZdS(u
ThreadSignalscCs�tj�|j�tj�ttjddksLttjddkrstjd�tj�tjd�n|j	ttjdd�|j	ttjdt
j��|j	ttjdd�|j	ttjdt
j��tj�dS(Nutrippediiu
tripped_by(
u
signalled_alluacquireuspawnSignallingThreadusignal_blackboardusignaluSIGUSR1uSIGUSR2ualarmupauseuassertEqualuthreadu	get_identurelease(uself((u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyutest_signals)s






uThreadSignals.test_signalscCstjtf�dS(N(uthreadustart_new_threadusend_signals(uself((u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyuspawnSignallingThreadEsu#ThreadSignals.spawnSignallingThreadcCs
t�dS(N(uKeyboardInterrupt(uselfusiguframe((u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyualarm_interruptHsuThreadSignals.alarm_interruptu/POSIX condition variables cannot be interruptedcCs�tjtj|j�}zltj�}|j�tjd�tj�}|jt	|jdd�tj�|}|j
|d�Wdtjtj|�XdS(Niutimeoutig@(usignaluSIGALRMualarm_interruptuthreadu
allocate_lockuacquireualarmutimeuassertRaisesuKeyboardInterruptu
assertLess(uselfuoldalrmulockut1udt((u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyutest_lock_acquire_interruptionKs

u,ThreadSignals.test_lock_acquire_interruptioncs�tjtj|j�}z�tj���fdd�}tj|f�x-�jdd	�rx�j�t	j
d�qLWtjd�t	j	�}|jt
�jdd�t	j	�|}|j|d�Wdtjtj|�XdS(
Ncs�j�dS(N(uacquire((urlock(u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyuother_threadnsuCThreadSignals.test_rlock_acquire_interruption.<locals>.other_threadublockingg{�G�z�?iutimeoutig@F(usignaluSIGALRMualarm_interruptuthreaduRLockustart_new_threaduacquireuFalseureleaseutimeusleepualarmuassertRaisesuKeyboardInterruptu
assertLess(uselfuoldalrmuother_threadut1udt((urlocku</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyutest_rlock_acquire_interruptionbs

u-ThreadSignals.test_rlock_acquire_interruptioncs�d�_�fdd�}tjtj|�}z�fdd�}tj|f�x-�jdd�r��j�tj	d�qXW�j�}�j
�j��j
|�Wdtjtj|�XdS(Ncs
d�_dS(NT(uTrueu	sig_recvd(usignaluframe(uself(u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyu
my_handler�su9ThreadSignals.acquire_retries_on_intr.<locals>.my_handlercsE�j�tjd�tjttj�tjd��j�dS(Ng�?(	uacquireutimeusleepuosukilluprocess_pidusignaluSIGUSR1urelease((ulock(u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyuother_thread�s



u;ThreadSignals.acquire_retries_on_intr.<locals>.other_threadublockingg{�G�z�?F(uFalseu	sig_recvdusignaluSIGUSR1uthreadustart_new_threaduacquireureleaseutimeusleepu
assertTrue(uselfulocku
my_handleruold_handleruother_threaduresult((ulockuselfu</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyuacquire_retries_on_intr~s	
u%ThreadSignals.acquire_retries_on_intrcCs|jtj��dS(N(uacquire_retries_on_intruthreadu
allocate_lock(uself((u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyu!test_lock_acquire_retries_on_intr�su/ThreadSignals.test_lock_acquire_retries_on_intrcCs|jtj��dS(N(uacquire_retries_on_intruthreaduRLock(uself((u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyu"test_rlock_acquire_retries_on_intr�su0ThreadSignals.test_rlock_acquire_retries_on_intrcsd�_d�_d�_tj���j�tj���j��fdd�}tjtj|�}z���fdd�}�fdd�}tj	|f�|��j��j
�j�jd��j�j�jd	��j�jd�Wdtjtj|�XdS(
Nics�jd7_dS(Ni(u
sigs_recvd(usignumuframe(uself(u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyu
my_handler�su@ThreadSignals.test_interrupted_timed_acquire.<locals>.my_handlercs2tj��_�jdd�tj��_dS(Nutimeoutg�?(utimeustartuacquireuend((ulockuself(u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyu
timed_acquire�suCThreadSignals.test_interrupted_timed_acquire.<locals>.timed_acquirecsEx4td�D]&}tjd�tjttj�q
W�j�dS(Ni(g{�G�z�?(	urangeutimeusleepuosukilluprocess_pidusignaluSIGUSR1urelease(u_(udone(u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyusend_signals�s
uBThreadSignals.test_interrupted_timed_acquire.<locals>.send_signalsg@g333333�?(uNoneustartuendu
sigs_recvduthreadu
allocate_lockuacquireusignaluSIGUSR1ustart_new_threadu
assertLessu
assertGreater(uselfu
my_handleruold_handleru
timed_acquireusend_signals((udoneulockuselfu</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyutest_interrupted_timed_acquire�s&			


u,ThreadSignals.test_interrupted_timed_acquireN(u__name__u
__module__u__qualname__utest_signalsuspawnSignallingThreadualarm_interruptuunittestuskipIfuUSING_PTHREAD_CONDutest_lock_acquire_interruptionutest_rlock_acquire_interruptionuacquire_retries_on_intru!test_lock_acquire_retries_on_intru"test_rlock_acquire_retries_on_intrutest_interrupted_timed_acquire(u
__locals__((u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyu
ThreadSignals's		u
ThreadSignalscCs�iidd6dd6tj6idd6dd6tj6idd6dd6tj6atttt�}ztt�Wdt|�XdS(Niutrippedu
tripped_by(	usignaluSIGUSR1uSIGUSR2uSIGALRMusignal_blackboarduregisterSignalsuhandle_signalsurun_unittestu
ThreadSignals(uoldsigs((u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyu	test_main�su	test_mainu__main__(uwinuos2(u__doc__uunittestusignaluosusysutest.supporturun_unittestu
import_moduleuthreadutimeuplatformuSkipTestugetpiduprocess_pidu
allocate_locku
signalled_alluthread_infounameulockuUSING_PTHREAD_CONDuregisterSignalsuhandle_signalsusend_signalsuTestCaseu
ThreadSignalsu	test_mainu__name__(((u</opt/alt/python33/lib64/python3.3/test/test_threadsignals.pyu<module>s((	�