Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.11/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.11/test/__pycache__/test_threadsignals.cpython-311.opt-1.pyc

�

SԚg|'���dZddlZddlZddlZddlZddlmZddlZddl	Z	ej
dd�dkrejdej
z���ej��Z
ej��ZejjdkoejjdkZd	�Zd
�Zd�Zej��Gd�d
ej����Zd�Zedkrej��dSdS)z6PyUnit testing that threads honor our signal semantics�N)�threading_helper��winzCan't test signal on %s�pthreadz
mutex+condc���tjtj|��}tjtj|��}tjtj|��}|||fS�N)�signal�SIGUSR1�SIGUSR2�SIGALRM)�for_usr1�for_usr2�for_alrm�usr1�usr2�alrms      �4/usr/local/lib/python3.11/test/test_threadsignals.py�registerSignalsrsH���=����2�2�D��=����2�2�D��=����2�2�D���t���c�~�t|dxxdz
cc<tj��t|d<dS�N�tripped��
tripped_by)�signal_blackboard�thread�	get_ident)�sig�frames  r�handle_signalsr sB���c��9�%�%�%��*�%�%�%�+1�+;�+=�+=��c��<�(�(�(rc��tjtj��tjtj��t���dSr)r	�raise_signalr
r�
signalled_all�release�rr�send_signalsr&"sB��
����'�'�'�
����'�'�'��������rc�L�eZdZd�Zd�Zd�Zejed��eje	j
�d��oe	jj
d��eje	j
�d��d��d	�������Zejed��eje	j
�d��oe	jj
d��eje	j
�d��d��d
�������Zd�Zd�Zd
�Zd�ZdS)�
ThreadSignalsc���tj��5t���|���t���ddd��n#1swxYwY|�ttjdd��|�ttjdtj
����|�ttjdd��|�ttjdtj
����t���dSr)
r�wait_threads_exitr#�acquire�spawnSignallingThread�assertEqualrr	r
rrrr$��selfs r�test_signalszThreadSignals.test_signals/sd��
�
/�
1�
1�	$�	$�

�!�!�#�#�#��&�&�(�(�(��!�!�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	
���+�F�N�;�I�F��J�J�J����+�F�N�;�L�I�!�+�-�-�	/�	/�	/����+�F�N�;�I�F��J�J�J����+�F�N�;�L�I�!�+�-�-�	/�	/�	/��������s�AA'�'A+�.A+c�:�tjtd��dS)Nr%)r�start_new_threadr&r.s rr,z#ThreadSignals.spawnSignallingThreadAs�����b�1�1�1�1�1rc��t�r)�KeyboardInterrupt)r/rrs   r�alarm_interruptzThreadSignals.alarm_interruptDs���rz/POSIX condition variables cannot be interrupted�linuxzBIssue 34004: musl does not allow interruption of locks by signals.�openbsdz%lock cannot be interrupted on OpenBSDc�^�tjtj|j��}	tj��}|���tjd��tj��}|�	t|jd���tj��|z
}|�|d��tjd��tjtj|��dS#tjd��tjtj|��wxYw)Nr���timeout�@r)r	rr5r�
allocate_lockr+�alarm�time�	monotonic�assertRaisesr4�
assertLess)r/�oldalrm�lock�t1�dts     r�test_lock_acquire_interruptionz,ThreadSignals.test_lock_acquire_interruptionGs����-����0D�E�E��	3��'�)�)�D��L�L�N�N�N��L��O�O�O���!�!�B����/���q��I�I�I���!�!�B�&�B�

�O�O�B��$�$�$��L��O�O�O��M�&�.�'�2�2�2�2�2��
�L��O�O�O��M�&�.�'�2�2�2�2���s�BC7�75D,c�j��tjtj|j��}	tj����fd�}tj��5tj|d����d���r>��	��tjd����d����>tjd��tj
��}|�t�jd���tj
��|z
}|�|d	��ddd��n#1swxYwYtjd
��tjtj|��dS#tjd
��tjtj|��wxYw)Nc�0������dSr)r+)�rlocks�r�other_threadzCThreadSignals.test_rlock_acquire_interruption.<locals>.other_threadys����
�
�����rr%F��blocking�{�G�z�?rr9r:r<r)r	rr5r�RLockrr*r2r+r$r?�sleepr>r@rAr4rB)r/rCrKrErFrJs     @r�test_rlock_acquire_interruptionz-ThreadSignals.test_rlock_acquire_interruptionfs�����-����0D�E�E��	3��L�N�N�E�
 �
 �
 �
 �
 �"�3�5�5�
)�
)��'��b�9�9�9��m�m�U�m�3�3�%��M�M�O�O�O��J�t�$�$�$��m�m�U�m�3�3�%���Q�����^�%�%���!�!�"3�U�]�A�!�N�N�N��^�%�%��*������C�(�(�(�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)����
)�
)�
)�
)�
�L��O�O�O��M�&�.�'�2�2�2�2�2��
�L��O�O�O��M�&�.�'�2�2�2�2���s0�+E=�CD=�1E=�=E�E=�E�E=�=5F2c����d�_�fd�}tjtj|��}	�fd�}tj��5tj|d����d���r>����tj
d����d����>����}���j����|��ddd��n#1swxYwYtjtj|��dS#tjtj|��wxYw)NFc���d�_dS)NT)�	sig_recvd)r	rr/s  �r�
my_handlerz9ThreadSignals.acquire_retries_on_intr.<locals>.my_handler�s���!�D�N�N�Nrc��������tjd��tjt
tj��tjd������dS)N��?)	r+r?rP�os�kill�process_pidr	r
r$)rDs�rrKz;ThreadSignals.acquire_retries_on_intr.<locals>.other_thread�sU����������
�3�������V�^�4�4�4��
�3�����������rr%rLrN)rTr	r
rr*rr2r+r$r?rP�
assertTrue)r/rDrU�old_handlerrK�results``    r�acquire_retries_on_intrz%ThreadSignals.acquire_retries_on_intr�s��������	"�	"�	"�	"�	"��m�F�N�J�?�?��	7�
�
�
�
�
�"�3�5�5�
(�
(��'��b�9�9�9��l�l�E�l�2�2�%��L�L�N�N�N��J�t�$�$�$��l�l�E�l�2�2�%������������/�/�/�����'�'�'�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(�
�M�&�.�+�6�6�6�6�6��F�M�&�.�+�6�6�6�6���s0�D,�B-D�4D,�D�D,�D�D,�,!E
c�R�|�tj����dSr)r^rr=r.s r�!test_lock_acquire_retries_on_intrz/ThreadSignals.test_lock_acquire_retries_on_intr�s%���$�$�V�%9�%;�%;�<�<�<�<�<rc�R�|�tj����dSr)r^rrOr.s r�"test_rlock_acquire_retries_on_intrz0ThreadSignals.test_rlock_acquire_retries_on_intr�s"���$�$�V�\�^�^�4�4�4�4�4rc�6����d�_d�_d�_tj�������tj��������fd�}t
jtj|��}	��fd�}�fd�}tj	��5tj
|d��|���������j�jz
d�����j�jz
d�����jd��ddd��n#1swxYwYt
jtj|��dS#t
jtj|��wxYw)Nrc�(���xjdz
c_dS)Nr)�
sigs_recvd)�signumrr/s  �rrUz@ThreadSignals.test_interrupted_timed_acquire.<locals>.my_handler�s����O�O�q� �O�O�O�Orc���tj���_��d���tj���_dS)NrWr:)r?r@�startr+�end)rDr/s��r�
timed_acquirezCThreadSignals.test_interrupted_timed_acquire.<locals>.timed_acquire�s9���!�^�-�-��
����S��)�)�)��>�+�+����rc����td��D]:}tjd��tjt
tj���;����dS)N�(g{�G�z�?)	�ranger?rPrXrYrZr	r
r$)�_�dones �rr&zBThreadSignals.test_interrupted_timed_acquire.<locals>.send_signals�sP����r���9�9�A��J�t�$�$�$��G�K���8�8�8�8��������rr%g@g333333�?)
rhrirerr=r+r	r
rr*r2rB�
assertGreater)r/rUr\rjr&rorDs`    @@r�test_interrupted_timed_acquirez,ThreadSignals.test_interrupted_timed_acquire�s��������
��������#�%�%���������#�%�%��������	!�	!�	!�	!�	!��m�F�N�J�?�?��	7�
,�
,�
,�
,�
,�
,�
�
�
�
�
�"�3�5�5�

7�

7��'��b�9�9�9��
���������������4�:� 5�s�;�;�;��"�"�4�8�d�j�#8�#�>�>�>��"�"�4�?�A�6�6�6�

7�

7�

7�

7�

7�

7�

7�

7�

7�

7�

7����

7�

7�

7�

7�
�M�&�.�+�6�6�6�6�6��F�M�&�.�+�6�6�6�6���s1�E7�*BE�?E7�E�E7�E�E7�7!FN)�__name__�
__module__�__qualname__r0r,r5�unittest�skipIf�USING_PTHREAD_COND�sys�platform�
startswith�thread_info�versionrGrQr^r`rbrqr%rrr(r(,s������� � � �$2�2�2� � � ��X�_�'�F�H�H��X�_�S�\�,�,�W�5�5�1���0�0�#�$�$�
�X�_�S�\�,�,�Y�7�7�<�>�>�3�3�>�>�$�$�H�H�3�,�X�_�'�F�H�H��X�_�S�\�,�,�W�5�5�1���0�0�#�$�$�
�X�_�S�\�,�,�Y�7�7�<�>�>�3�3�>�>�$�$�H�H�3�:7�7�7�@=�=�=�5�5�5�,7�,7�,7�,7�,7rr(c���tjddd�tjddd�tjddd�iatttt��}tjt
g|�R�dS)Nr)rr)	r	r
rrrrr ru�addModuleCleanup)�oldsigss r�setUpModuler��sl��!�.�q��+K�+K� �.�q��+K�+K� �.�q��+K�+K�N���n�n�n�M�M�G���o�8��8�8�8�8�8�8r�__main__)�__doc__rur	rXrx�test.supportr�_threadrr?ry�SkipTest�getpidrZr=r#r{�namerDrwrr r&�requires_working_threading�TestCaser(r�rr�mainr%rr�<module>r�sy��<�<�����
�
�
�
�	�	�	�	�
�
�
�
�)�)�)�)�)�)����������L��!������
�(�
�5���D�
E�
E�E��b�i�k�k��"�f�"�$�$�
��o�*�i�7�?��/�.�,�>�����>�>�>�
���-��,�.�.�q7�q7�q7�q7�q7�H�%�q7�q7�/�.�q7�h9�9�9��z����H�M�O�O�O�O�O��r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists