403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/_test_eintr.cpython-313.pyc
�

��ipI��0�SrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSK
r
SSKJr SSKJr SSKJr Sr\R(S5r\
R,"\"\S5S	5"S
S\
R055r\
R,"\"\S5S	5"SS
\55r\
R,"\"\S5S	5"SS\55r\
R,"\"\S5S	5"SS\55r\
R,"\"\S5S	5\
R,"\"\S5S5"SS\555r\
R,"\"\S5S	5"SS\55r"SS\5r\ S:Xa\
RB"5 gg)a�
This test suite exercises some system calls subject to interruption with EINTR,
to check that it is actually handled transparently.
It is intended to be run by the main test suite within a child process, to
ensure there is no background thread running (so that signals are delivered to
the correct thread).
Signals are generated in-process using setitimer(ITIMER_REAL), which allows
sub-second periodicity (contrarily to signal()).
�N)�support)�	os_helper)�
socket_helperg{�G�z�?c#�|# �U Uv� SSS5 g! UR5 e=f!,(df   g=f7f)zGContext manager killing the subprocess if a Python exception is raised.N)�kill)�procs �%C:\Python313\\Lib\test\_test_eintr.py�
kill_on_errorr
#s5���
�	��J�
���	��I�I�K���
��s �<�+��	<�(�+�
9�<�	setitimerzrequires setitimer()c�R�\rSrSrSrSrSrSrSrSr	\
S5rSrS	r
S
rSrg)
�
EINTRBaseTest�.zBase class for EINTR tests. g�������?g�������?c�.�U=RS-
slg�N�)�signals)�self�signum�frames   r	�
sighandler�EINTRBaseTest.sighandler:s��������c�6�SUl[R"[RUR5Ul[R
"[RURUR5 [R"SS[RS9 g)NriXT)�exit�file)
r�signal�SIGALRMr�orig_handlerr�ITIMER_REAL�signal_delay�
signal_period�faulthandler�dump_traceback_later�sys�
__stderr__�rs r	�setUp�EINTRBaseTest.setUp=sf�����"�M�M�&�.�.�$�/�/�J�������+�+�T�->�->��+�+�	-�
	�)�)�'��/2�~�~�	?rc�P�[R"[RSS5 g�Nr)rrr�rr	�
stop_alarm�EINTRBaseTest.stop_alarmHs������+�+�Q��2rc��UR5 [R"[RUR5 [R
"5 g�N)r,rrrr"�cancel_dump_traceback_laterr&s r	�tearDown�EINTRBaseTest.tearDownLs0�������
�
�f�n�n�d�&7�&7�8��0�0�2rc�Z�[RS4U-n[R"U40UD6$)Nz-c)r$�
executable�
subprocess�Popen)r�args�kw�cmd_argss    r	r5�EINTRBaseTest.subprocessQs+���N�N�D�)�D�0������/�B�/�/rc�H�URXR[-
5 gr/)�assertGreaterEqual�
sleep_time�	CLOCK_RES)r�elapseds  r	�check_elapsed_time� EINTRBaseTest.check_elapsed_timeUs��������9�)D�Er)rrN)�__name__�
__module__�__qualname__�__firstlineno__�__doc__r r!r=rr'�staticmethodr,r1r5r@�__static_attributes__r+rr	r
r
.sF��'��L��M��J��	?��3��3�3�
0�Frr
c���\rSrSrSrSrSrSr\R"\
"\S5S5S5rS	r
S
r\R"\
"\S5S5S
5rSrSrSrg)�OSEINTRTest�YzEINTR tests for the os module. c�B�SUR-nURU5$)Nzimport time; time.sleep(%r))r=r5)r�codes  r	�new_sleep_process�OSEINTRTest.new_sleep_process]s��,�t���>�����t�$�$rc���Sn[U5Vs/sHo0R5PM nn[U5H
nU"5 M UHnUR5 M gs snf)N�)�rangerN�wait)r�	wait_func�num�_�	processesrs      r	�_test_wait_multiple�OSEINTRTest._test_wait_multipleasT����7<�S�z�B�z�!�+�+�-�z�	�B��s��A��K���D��I�I�K���	Cs�Ac�B�UR[R5 gr/)rX�osrSr&s r	�	test_wait�OSEINTRTest.test_waitjs��� � ����)r�wait3zrequires wait3()c�(�URS5 g)Nc�.�[R"S5$r*)r[r^r+rr	�<lambda>�(OSEINTRTest.test_wait3.<locals>.<lambda>os�����!�r)rXr&s r	�
test_wait3�OSEINTRTest.test_wait3ms��� � �!4�5rc�h�UR5nU"UR5 UR5 gr/)rN�pidrS)rrTrs   r	�_test_wait_single�OSEINTRTest._test_wait_singleqs%���%�%�'���$�(�(���	�	�rc�(�URS5 g)Nc�0�[R"US5$r*)r[�waitpid�rfs r	ra�*OSEINTRTest.test_waitpid.<locals>.<lambda>xs��2�:�:�c�1�+=r�rgr&s r	�test_waitpid�OSEINTRTest.test_waitpidws�����=�>r�wait4zrequires wait4()c�(�URS5 g)Nc�0�[R"US5$r*)r[rqrls r	ra�(OSEINTRTest.test_wait4.<locals>.<lambda>|s��2�8�8�C��+;rrnr&s r	�
test_wait4�OSEINTRTest.test_wait4zs�����;�<rc�.�[R"5upUR[RU5 /SQnSR	SSSSU-SUR
-SSS	S
S4
5nUR
U[U5U/S9n[U5 [R"U5 UH3nURU[R"U[U555 M5 URUR5S
5 SSS5 g!,(df   g=f)N)shellosworldsspam�
zimport os, sys, time�zwr = int(sys.argv[1])�
datas = %r�sleep_time = %rzfor data in datas:z$    # let the parent block on read()�    time.sleep(sleep_time)z    os.write(wr, data)��pass_fdsr)
r[�pipe�
addCleanup�close�joinr=r5�strr
�assertEqual�read�lenrS)r�rd�wr�datasrMr�datas       r	�	test_read�OSEINTRTest.test_read~s���������������"�%�
.���y�y�"��#��5� �����/�� �2�(�$�
������t�S��W��t��<��
�4�
 ��H�H�R�L���� � ��r�w�w�r�3�t�9�'=�>�����T�Y�Y�[�!�,�	!�
 �
 �s
�
A0D�
Dc��[R"5upUR[RU5 S[R
-nSR
SSSSUR-S[R
-SSS	S
SSSS
SSSSSS45nURU[U5U/S9n[U5 [R"U5 SnU[U5:a7U[R"U[U5US5-
nU[U5:aM7URUR5S5 SSS5 g!,(df   g=f)N�xrxzimport io, os, sys, timeryzrd = int(sys.argv[1])r{zdata = b"x" * %s�data_len = len(data)z!# let the parent block on write()�time.sleep(sleep_time)zread_data = io.BytesIO()z+while len(read_data.getvalue()) < data_len:z%    chunk = os.read(rd, 2 * data_len)z    read_data.write(chunk)zvalue = read_data.getvalue()zif value != data:z0    raise Exception("read error: %s vs %s bytes"z-                    % (len(value), data_len))r}r)r[rr�r�r�
PIPE_MAX_SIZEr�r=r5r�r
r��write�
memoryviewr�rS)rr�r�r�rMr�writtens       r	�
test_write�OSEINTRTest.test_write�s$��������������"�%��g�+�+�+���y�y�&��#�����/���!6�!6�6�"��/�$��&�9�3�(��*��>�;�'
���,���t�S��W��t��<��
�4�
 ��H�H�R�L��G��C��I�%��2�8�8�B�
�4�(8���(B�C�C���C��I�%����T�Y�Y�[�!�,�!�
 �
 �s�3AD;� D;�;
E	r+N)rBrCrDrErFrNrXr\�unittest�
skipUnless�hasattrr[rcrgrorur�r�rHr+rr	rJrJYs|��*�%��*������W�-�/A�B�6�C�6��?������W�-�/A�B�=�C�=�-�:$-rrJc��\rSrSrSr\R"\"\S5S5S5r	Sr
\R"\"\RS5S5S	5rS
rSr
Sr\R"\"\RS
5S5S5rSr\R$"SS5\R"\"\S5S5S55rSr\R,"\R0S:HS5S5rSr\R,"\R0S:HS5\R,"\R0R7S5S5S55rSrg) �SocketEINTRTest��z#EINTR tests for the socket module. �
socketpairzneeds socketpair()c�~�[R"5up#URUR5 /SQnSR	SSSS[UR5-S[UR5-SU-S	UR-SS
SSSS
SSS45nUR5nURU[U5U/S9n[U5 UR5 UH$nURX�"U[U555 M& URUR5S5 SSS5 g!,(df   g=f)N)r��y�zrx�import os, socket, sys, timery�fd = int(sys.argv[1])�family = %s�sock_type = %srzr{z)wr = socket.fromfd(fd, family, sock_type)�os.close(fd)zwith wr:z    for data in datas:z(        # let the parent block on recv()z        time.sleep(sleep_time)z        wr.sendall(data)r}r)�socketr�r�r�r��int�family�typer=�filenor5r�r
r�r�rS)	r�	recv_funcr�r�r�rM�fdrr�s	         r	�
_test_recv�SocketEINTRTest._test_recv�s���"�"�$���������!�#���y�y�*��#��C��	�	�N�*��s�2�7�7�|�+��5� �����/��7����$�6�,�&�!
���&�Y�Y�[�����t�S��W��t��<��
�4�
 ��H�H�J���� � ��y��S��Y�'?�@�����T�Y�Y�[�!�,�	!�
 �
 �s
�
AD.�.
D<c�V�UR[RR5 gr/)r�r��recvr&s r	�	test_recv�SocketEINTRTest.test_recv��������
�
�*�*�+r�recvmsgzneeds recvmsg()c�(�URS5 g)Nc�*�URU5S$r*)r���sockr�s  r	ra�.SocketEINTRTest.test_recvmsg.<locals>.<lambda>�s��4�<�<��+=�a�+@r)r�r&s r	�test_recvmsg�SocketEINTRTest.test_recvmsg�s�����@�Arc��[R"5up#URUR5 S[R
S--nSR
SSSS[UR5-S[UR5-S	UR-S
[R
S--SSSS
SSSSSSSSSSSSS45nUR5nURU[U5U/S9n[U5 UR5 SnU[U5:a8U"U[!U5US5n	X�c[U5OU	-
nU[U5:aM8UR#UR%5S5 SSS5 g!,(df   g=f)NsxyzrQrxr�ryr�r�r�r{zdata = b"xyz" * %sr�z)rd = socket.fromfd(fd, family, sock_type)r�zwith rd:z$    # let the parent block on send()r|z'    received_data = bytearray(data_len)z	    n = 0z    while n < data_len:z8        n += rd.recv_into(memoryview(received_data)[n:])zif received_data != data:z0    raise Exception("recv error: %s vs %s bytes"z5                    % (len(received_data), data_len))r}r)r�r�r�r�r�
SOCK_MAX_SIZEr�r�r�r�r=r�r5r�r
r�r�r�rS)
r�	send_funcr�r�r�rMr�rr��sents
          r	�
_test_send�SocketEINTRTest._test_send�sl���"�"�$���������!���.�.�!�3�4���y�y�*��#��C��	�	�N�*��s�2�7�7�|�+�����/� �G�$9�$9�Q�$>�?�"��7����2�(��5��%�F��'�>�C�1
���6�Y�Y�[�����t�S��W��t��<��
�4�
 ��H�H�J��G��C��I�%� ��Z��%5�g�h�%?�@����3�t�9�$�>���C��I�%�
���T�Y�Y�[�!�,�!�
 �
 �s�5AE8� E8�8
Fc�V�UR[RR5 gr/)r�r��sendr&s r	�	test_send�SocketEINTRTest.test_sendr�rc�V�UR[RR5 gr/)r�r��sendallr&s r	�test_sendall�SocketEINTRTest.test_sendall"s������
�
�-�-�.r�sendmsgzneeds sendmsg()c�(�URS5 g)Nc�&�URU/5$r/)r�r�s  r	ra�.SocketEINTRTest.test_sendmsg.<locals>.<lambda>'s��4�<�<���+?r)r�r&s r	�test_sendmsg�SocketEINTRTest.test_sendmsg%s�����?�@rc��[R"[RS45nUR	UR
5 UR
5SnSRSSS[R-SU-SUR-SS	S
SS4
5nURU5n[U5 UR5upVUR5 URUR5S5 SSS5 g!,(df   g=f)
Nrrrxzimport socket, timeryz	host = %rz	port = %sr{z# let parent block on accept()r�z,with socket.create_connection((host, port)):r|)r��
create_serverr�HOSTr�r��getsocknamer�r=r5r
�acceptr�rS)rr��portrMr�client_sockrVs       r	�test_accept�SocketEINTRTest.test_accept)s����#�#�]�%7�%7��$;�<������
�
�#����!�!�$���y�y�!���-�,�,�,��$������/��,�$�:�(�
������t�$��
�4�
 �!�[�[�]�N�K��������T�Y�Y�[�!�,�!�
 �
 �s
�-AC9�9
D�
rQ�mkfifozneeds mkfifo()c�$�[Rn[R"U5 [R"U5 UR[RU5 SRSSSU-SUR-SSSSU4	5nURU5n[U5 U"U5 URUR5S	5 SSS5 g![
anUR
SU-5 SnAN�SnAff=f!,(df   g=f)
Nzos.mkfifo(): %srx�import os, timeryz	path = %ar{z# let the parent blockr�r)r�TESTFN�unlinkr[r��PermissionError�skipTestr�r�r=r5r
r�rS)r�do_open_close_reader�do_open_close_writer�filename�erMrs       r	�
_test_open�SocketEINTRTest._test_openEs����#�#��	����"�	1��I�I�h��	
���	�(�(�(�3��y�y����(�"�����/��$�$�� �

�
�����t�$��
�4�
 � ��*����T�Y�Y�[�!�,�!�
 ��#�	1��M�M�+�a�/�0�0��	1��"!�
 �s#�C�$)D�
C>� C9�9C>�
Dc�<�[US5nUR5 g)N�w)�openr�)r�path�fps   r	�python_open�SocketEINTRTest.python_opends��
�$��_��
���
r�darwinz+hangs under macOS; see bpo-25234, bpo-35363c�<�URSUR5 g)Nzfp = open(path, 'r')
fp.close())r�r�r&s r	�	test_open�SocketEINTRTest.test_openhs��	
���:��(�(�	*rc�z�[R"U[R5n[R"U5 gr/)r[r��O_WRONLYr�)rr�r�s   r	�os_open�SocketEINTRTest.os_openns!��
�W�W�T�2�;�;�
'��
����r�netbsdzhangs on NetBSD; see gh-137397c�<�URSUR5 g)Nz,fd = os.open(path, os.O_RDONLY)
os.close(fd))r�r�r&s r	�test_os_open�SocketEINTRTest.test_os_openrs��
	
���G����	&rr+N)rBrCrDrErFr�r�r�r�r�r�r�r�r�r�r�r�r�requires_freebsd_versionr[r�r��skipIfr$�platformr�r��
startswithr�rHr+rr	r�r��sp��.�
������6�8L�M�!-�N�!-�F,��������	�:�<M�N�B�O�B�,-�\,�/��������	�:�<M�N�A�O�A�-�8
�%�%�b�!�,�
�����X�.�0@�A�-�B�-�-�:��_�_�S�\�\�X�-�B�D�*�D�*���_�_�S�\�\�X�-�B�D�
�_�_�S�\�\�,�,�X�6�5�7�&�7�D�&rr�c��\rSrSrSrSrSrg)�
TimeEINTRTesti{z!EINTR tests for the time module. c���[R"5n[R"UR5 UR	5 [R"5U-
nURU5 gr/)�time�	monotonic�sleepr=r,r@�r�t0�dts   r	�
test_sleep�TimeEINTRTest.test_sleepsG��
�^�^�
���
�
�4�?�?�#�����
�^�^�
��
"������#rr+N)rBrCrDrErFrrHr+rr	r�r�{s
��,�$rr��pthread_sigmaskzneed signal.pthread_sigmask()c��\rSrSrSrSr\R"\"\	S5S5S5r
\R"\"\	S5S5S5rS	rg
)�SignalEINTRTesti�z#EINTR tests for the signal module. c��[Rn[R"5n[R"US5nUR	[RX$5 SRSS[R"5-S[
U5-SUR-SS45n[R"[RU/5nUR	[R[RU/5 URU5n[U5 U"U5 SSS5 URUR5S	5 g!,(df   N/=f)
Nc��gr/r+)r7s r	ra�/SignalEINTRTest.check_sigwait.<locals>.<lambda>�s��$rrxr�zpid = %szsignum = %sr{r�zos.kill(pid, signum)r)r�SIGUSR1r[�getpidr�r�r�r=r	�	SIG_BLOCK�SIG_UNBLOCKr5r
r�rS)rrTrrf�old_handlerrM�old_maskrs        r	�
check_sigwait�SignalEINTRTest.check_sigwait�s��������i�i�k���m�m�F�,>�?������
�
�v�;��y�y�������$��C��K�'�����/�$�"�

����)�)�&�*:�*:�V�H�E������.�.��0B�0B�V�H�M����t�$��
�4�
 ��f��!�	
�������a�(�!�
 �s�	E�
E�sigwaitinfozneed signal.sigwaitinfo()c�,�SnURU5 g)Nc�2�[R"U/5 gr/)rr�rs r	rT�3SignalEINTRTest.test_sigwaitinfo.<locals>.wait_func�s������x�(r�r�rrTs  r	�test_sigwaitinfo� SignalEINTRTest.test_sigwaitinfo�s��	)�	
���9�%r�sigtimedwaitc�,�SnURU5 g)Nc�4�[R"U/S5 g)Ng^@)rr rs r	rT�4SignalEINTRTest.test_sigtimedwait.<locals>.wait_func�s�������%�0rrrs  r	�test_sigtimedwait�!SignalEINTRTest.test_sigtimedwait�s��	1�	
���9�%rr+N)
rBrCrDrErFrr�r�r�rrr$rHr+rr	rr�sb��/�)�2������7�4�6�&�6�&�������8�4�6�&�6�&rrc�d�\rSrSrSrSr\R"\RS:HS5\R"\"\S5S5S55r
\R"\"\S	5S
5S5r\R"\"\S5S
5S5r\R"\"\S5S5S5rSrg)�SelectEINTRTesti�z#EINTR tests for the select module. c���[R"5n[R"///UR5 [R"5U-
nUR	5 URU5 gr/)rr�selectr=r,r@rs   r	�test_select�SelectEINTRTest.test_select�sM��
�^�^�
���
�
�b�"�b�$�/�/�2�
�^�^�
��
"����������#rr�z(poll may fail on macOS; see issue #28087�pollzneed select.pollc��[R"5n[R"5nURURS-5 [R"5U-
nUR5 UR
U5 g�Ng@�@)r)r,rrr=r,r@�r�pollerrrs    r	�	test_poll�SelectEINTRTest.test_poll�sY�������
�^�^�
�����D�O�O�c�)�*�
�^�^�
��
"����������#r�epollzneed select.epollc�6�[R"5nURUR5 [R
"5nUR
UR5 [R
"5U-
nUR5 URU5 gr/)
r)r3r�r�rrr,r=r,r@r/s    r	�
test_epoll�SelectEINTRTest.test_epoll�sb�������������%�
�^�^�
�����D�O�O�$�
�^�^�
��
"����������#r�kqueuezneed select.kqueuec�:�[R"5nURUR5 [R
"5nUR
SSUR5 [R
"5U-
nUR5 URU5 gr)
r)r7r�r�rr�controlr=r,r@)rr7rrs    r	�test_kqueue�SelectEINTRTest.test_kqueue�sf�������������%�
�^�^�
�����t�Q����0�
�^�^�
��
"����������#r�devpollzneed select.devpollc�<�[R"5nURUR5 [R
"5nUR
URS-5 [R
"5U-
nUR5 URU5 gr.)
r)r<r�r�rrr,r=r,r@r/s    r	�test_devpoll�SelectEINTRTest.test_devpoll�sh�����!��������%�
�^�^�
�����D�O�O�c�)�*�
�^�^�
��
"����������#rr+N)rBrCrDrErFr*r�r�r$r�r�r�r)r1r5r:r>rHr+rr	r'r'�s���.�$��_�_�S�\�\�X�-�?�A�
������0�2D�E�$�F�A�$�������1�3F�G�$�H�$�������2�4H�I�$�J�$�������3�5J�K�$�L�$rr'c�v�\rSrSrSr\R"\R"5S:HS5S5r	Sr
Srg)	�FCNTLEINTRTesti�c
���UR[R[R5 [R
"5up4[R
"5upVX4XV4H#nUR[RU5 M% [R"S[RSUSUSUSURS35nURX�U/S9n	[U	5 [[RS5n
[R"US	5nURUS
5 [R "5n[R""US5 U"U
[$R&5 [R "5U-
n
UR)5 UR+U
5 SSS5 U	R-5 SSS5 g!,(df   N'=f!,(df   g=f)Nz;
            import fcntl, os, time
            with open('z%', 'wb') as f:
                fcntl.z,(f, fcntl.LOCK_EX)
                os.write(z%, b"ok")
                _ = os.read(z;, 2)  # wait for parent process
                time.sleep(z
)
        r}�wb�soksgo)r�rr�r�r[rr��textwrap�dedentr=r5r
r�r�r�rrr��fcntl�LOCK_EXr,r@rS)r�	lock_func�	lock_name�rd1�wr1�rd2�wr2r�rMr�f�ok�
start_timers              r	�_lock�FCNTLEINTRTest._lock�sy�����	�(�(�)�*:�*:�;��7�7�9����7�7�9����S�&�B��O�O�B�H�H�b�)�'����$�!�(�(�)�*� �k�"���� �E�"� �O�O�,�-	�
 �
�����t�C�j��9��
�4�
 ��i�&�&��-���W�W�S�!�_��� � ��U�+�"�^�^�-�
�����e�$�
�!�U�]�]�+��^�^�%�
�2�����!��'�'��+�.� 
�I�I�K�#!�
 �-�-��!�
 �s%�"G�=B&G�#G�
G	�G�
G#�AIXzAIX returns PermissionErrorc�D�UR[RS5 g)N�lockf)rRrGrVr&s r	�
test_lockf�FCNTLEINTRTest.test_lockfs���
�
�5�;�;��(rc�D�UR[RS5 g)N�flock)rRrGrZr&s r	�
test_flock�FCNTLEINTRTest.test_flocks���
�
�5�;�;��(rr+N)rBrCrDrErRr�r�r��systemrWr[rHr+rr	rArA�s:�� �H�_�_�X�_�_�&�%�/�1N�O�)�P�)�)rrA�__main__)"rF�
contextlibr"rGr[r�r)rr�r5r$rErr��testr�test.supportrrr>�contextmanagerr
r�r��TestCaser
rJr�r�rr'rArB�mainr+rr	�<module>res�������	��
�
�
��
�����"�&�

�	�������
���W�V�[�1�3I�J�'F�H�%�%�'F�K�'F�T
���W�V�[�1�3I�J�e-�-�e-�K�e-�P
���W�V�[�1�3I�J�u&�m�u&�K�u&�p
���W�V�[�1�3I�J�$�M�$�K�$�
���W�V�[�1�3I�J�
���W�V�%6�7�4�6�*&�m�*&�6�K�
*&�Z
���W�V�[�1�3I�J�5$�m�5$�K�5$�p*)�]�*)�Z�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit