Your IP : 3.144.243.246


Current Path : /opt/alt/python313/lib64/python3.13/multiprocessing/__pycache__/
Upload File :
Current File : //opt/alt/python313/lib64/python3.13/multiprocessing/__pycache__/forkserver.cpython-313.opt-1.pyc

�

+}ge0��l�SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
Jr SSK
Jr SSK
Jr SSK
Jr SSK
Jr SSK
Jr /S	QrS
r\R("S5r"SS
\5rSSjrSrSrSr\"5r\R:r\R<r\R>r\R@r g)�N�)�
connection)�process)�	reduction)�resource_tracker)�spawn)�util)�ensure_running�get_inherited_fds�connect_to_new_process�set_forkserver_preload��qc�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�
ForkServer�!c��SUlSUlSUlSUl[R
"5UlS/Ulg)N�__main__)�_forkserver_address�_forkserver_alive_fd�_forkserver_pid�_inherited_fds�	threading�Lock�_lock�_preload_modules��selfs �A/opt/alt/python313/lib64/python3.13/multiprocessing/forkserver.py�__init__�ForkServer.__init__#s:��#'�� �$(��!�#���"����^�^�%��
�!+����c�p�UR UR5 SSS5 g!,(df   g=f�N)r�_stop_unlockedrs r�_stop�ForkServer._stop+s��
�Z�Z����!��Z�Z�s�'�
5c�V�URcg[R"UR5 SUl[R"URS5 SUl[
R"UR5(d [R"UR5 SUlg)Nr)	r�os�closer�waitpidr	�is_abstract_socket_namespacer�unlinkrs rr%�ForkServer._stop_unlocked0sz�����'��	����*�*�+�$(��!�
�
�
�4�'�'��+�#����0�0��1I�1I�J�J��I�I�d�.�.�/�#'�� r"c�T�[SU55(d[S5eXlg)z>Set list of module names to try to load in forkserver process.c3�D# �UHn[U5[Lv� M g7fr$)�type�str)�.0�mods  r�	<genexpr>�4ForkServer.set_forkserver_preload.<locals>.<genexpr>As���=�}��4��9��#�}�s� z&module_names must be a list of stringsN)�all�	TypeErrorr)r�
modules_namess  rr
�!ForkServer.set_forkserver_preload?s%���=�}�=�=�=��D�E�E� -�r"c��UR$)z|Return list of fds inherited from parent process.

This returns None if the current process was not started by fork
server.
)rrs rr�ForkServer.get_inherited_fdsEs���"�"�"r"c��UR5 [U5S-[:�a[S5e[R"[R
5nUR
UR5 [R"5up4[R"5upVXTUR[R"5/nXq-
n[R"X'5 X64[R"U5 [R"U5 sSSS5 $! [R"U5 [R"U5 e=f![R"U5 [R"U5 f=f!,(df   g=f)aRequest forkserver to create a child process.

Returns a pair of fds (status_r, data_w).  The calling process can read
the child process's pid and (eventually) its returncode from status_r.
The calling process should write to data_w the pickled preparation and
process data.
�ztoo many fdsN)r
�len�MAXFDS_TO_SEND�
ValueError�socket�AF_UNIX�connectrr)�piperr�getfdr�sendfdsr*)r�fds�client�parent_r�child_w�child_r�parent_w�allfdss        rr�!ForkServer.connect_to_new_processMs��	
�����s�8�a�<�>�)��^�,�,�
�]�]�6�>�>�
*�f��N�N�4�3�3�4� "���	��H� "���	��G���(A�(A�&�,�,�.�0�F��M�F�	
"��!�!�&�1��)�����!�����!�!+�
*��
�����"�����"�������!�����!��!+�
*�s1�A0E8�D�,E8�/E�E�.E5�5E8�8
Fc�|�UR [R"5 URbw[R
"UR[R5upU(d
SSS5 g[R"UR5 SUl	SUlSUlSnUR(aFSS1n[R"S5nUR5VVs0sHupgXd;dMXg_M nnnO0n[R"[R5n[ R""S5n	UR%U	5 [&R("U	5(d[R*"U	S5 UR-5 [R."5up�UR15U
/nX8R15X�RU4-n[R2"5n
U
/[&R4"5-nUSU/-
n[&R6"X�U5n[R"U
5 X�l	X�lXlSSS5 SSS5 gs snnf! [R"U5 e=f![R"U
5 f=f!,(df   NT=f!,(df   g=f)	z�Make sure that a fork server is running.

This can be called from any process.  Note that usually a child
process will just reuse the forkserver started by its parent, so
ensure_running() will do nothing.
NzCfrom multiprocessing.forkserver import main; main(%d, %d, %r, **%r)�	main_path�sys_path�ignorerCi�z-c)rrr
rr)r+�WNOHANGr*rrrr�get_preparation_data�itemsrBrCr�arbitrary_address�bindr	r,�chmod�listenrE�fileno�get_executable�_args_from_interpreter_flags�spawnv_passfds)r�pid�status�cmd�desired_keys�data�x�y�listener�address�alive_r�alive_w�fds_to_pass�exe�argss               rr
�ForkServer.ensure_runningjs���Z�Z��+�+�-��#�#�/� �j�j��)=�)=�r�z�z�J������Z�����2�2�3�+/��(�,0��)�'+��$�,�C��$�$� +�Z�8���1�1�(�;��)-����K�����9J������K�������v�~�~�.�(�$�6�6�y�A���
�
�g�&��8�8��A�A��H�H�W�e�,����!�$&�7�7�9� ��&�#+�?�?�#4�g�">�K��O�O�-�w�8M�8M� �"�"�C��.�.�0�C��5�4�#D�#D�#F�F�D��T�3�K�'�D��-�-�c��E�C�
�H�H�W�%�+2�(�,3�)�'*�$�3/�1�Z��(L��,��H�H�W�%����H�H�W�%��-/�.��1�Z�si�AJ-�2A5J-�'I�6I�<*J-�&BJ�(A=I%�&(J�J-�J-�%I>�>J�J�J�
J*	�&J-�-
J;)rrrrrrN)�__name__�
__module__�__qualname__�__firstlineno__r r&r%r
rrr
�__static_attributes__�r"rrr!s%��-�"�

(�.�#�"�:8+r"rc
�J�U(azUbU[RSS&SU;aIUbFS[R"5l[
R"U5 [R"5?UHn[U5 M [R"5 [R"5upg[R"US5 [R"US5 Sn[RU[R [R"0n	U	R%5V
Vs0sHup�U
[R"X�5_M nn
n[R&"U5 0n
[(R("[(R*US9n[,R."5nUR15[2lUR7U[,R85 UR7U[,R85 UR7U[,R85 UR;5VVs/sHunnUR<PM nnnU(aOM9UU;a[>eUU;a�[R@"US5 [RB"S[RD5unnUS	:XaOjU
RIUS5nUb:[RJ"U5n[MUU5 [RP"U5 O[RRT"S
U-5 M�UU;Ga�URW5S	n[XRZ"U[\S-5n[_U5[\:�a#[aSRc[_U555eUtnnnURQ5 [Rd"5nUS	:Xa�SnURQ5 URQ5 UUXg/nURgU
Ri55 [jRl"5 [jR6"[Rn5 [qUUUU5n[jR|"5 [R~"U5 OG[MUU5 UU
U'[RP"U5 UHn[RP"U5 M SSS5 OGM�![R"5?f=f![a GMyf=fs snn
fs snnf![Fa GM�f=f![Na GN6f=f![raH [Rt"[Rv"56 [RxR{5 GN,f=f![jR|"5 [R~"U5 f=f![Na GN4f=f!,(df   GN=f![�a*nUR�[�R�:waeSnAGN5SnAff=f!,(df   O=fSSS5 g!,(df   g=f)
zRun forkserver.NrTFc��gr$rs)�_unuseds r�sigchld_handler�main.<locals>.sigchld_handler�s��r")r[i���rz.forkserver: waitpid returned unexpected pid %drzToo many ({0:n}) fds to send)C�sys�pathr�current_process�_inheritingr�import_main_path�
__import__�ImportErrorr	�_close_stdinr)rE�set_blocking�signal�SIGCHLD�SIGINT�SIG_IGNrV�
set_wakeup_fdrBrC�	selectors�DefaultSelector�getsockname�_forkserverr�register�
EVENT_READ�select�fileobj�
SystemExit�readr+rT�ChildProcessError�pop�waitstatus_to_exitcode�write_signed�BrokenPipeErrorr*�warnings�warn�acceptr�recvfdsr@r?�RuntimeError�format�fork�extend�values�atexit�_clear�_exit_function�
_serve_one�	Exception�
excepthook�exc_info�stderr�flush�_run_exitfuncs�_exit�OSError�errno�ECONNABORTED)�listener_fdrh�preloadrQrR�modname�sig_r�sig_wrw�handlers�sig�val�old_handlers�	pid_to_fdrf�selector�key�events�rfdsr_�stsrK�
returncode�srHrL�code�
unused_fds�fd�es                              r�mainr��s������"�C�H�H�Q�K��� �Y�%:�48�G�#�#�%�1�
:��&�&�y�1��+�+�-�9��G�
��7�#��	�����7�7�9�L�E��O�O�E�5�!��O�O�E�5�!�
�	�����
�
�v�~�~�	
�H�'/�n�n�&6�8�&6�
������s�0�0�&6��8�������I�	���v�~�~�k�	:�h�	�	"�	"�	$��*2�*>�*>�*@��'����(�I�$8�$8�9����'�9�#7�#7�8����%��!5�!5�6��S
��=E�_�_�=N�O�=N�M�S�&�C�K�K�=N�D�O����
�d�?�%�$��D�=��G�G�E�5�)��"�')�z�z�"�b�j�j�'A�H�C���!�8�!�"+�-�-��T�":��"�.�)+�)B�)B�3�)G�J�%� ,�W�j� A��H�H�W�-�%�M�M�+>�@C�+D�E�+�0�t�#�!���*�1�-��'�/�/��>�A�3E�F���s�8�n�4�".� >� E� E�$'��H�!.�#/�/�25�.���3����	� �g�g�i���!�8�#$�D�/� (��� 0� (��� 0�.5�w��-M�
� *� 1� 1�)�2B�2B�2D� E� &�
�
�� &����0C�0C� D�'1�'�3�2<�2>�(@��!'� 5� 5� 7� "�����%� ,�W�c� :�.5�I�c�N��H�H�W�-�&)�� "�����'*�M.�-�$�O��Q�+�+�-�9���
��
��&8��(P��  1�"�!�"��$3�%� $�%��D$-�3� #������� ?� #�
�
� 0� 0� 2�3��!'� 5� 5� 7� "������
$3�%� $�%��C.�-��R�
��7�7�e�0�0�0��1��
��s
%�	$��
;�	:�	:�sC�S�3S�"#S,�X�A;W:�W�)S2
�7W�:(S8�"2W�T
�!AW�-BV1�5BT�,V1�-V �9:V1�3W�;W:�S�
S)�(S)�2W�8
T�W�T�W�

T�W�T�W�AU-	�)U0�,U-	�-U0�0-V	�V1� 
V.	�*V1�-V.	�.V1�1
W�;W�>W:�W�
W7�
W2�,W:�2W7�7W:�:
X	�X�
X"c�z�[R"S5 UR5HupE[R"XE5 M UHn[R"U5 M Ut[
l[Rl	[
l
[R"U5n[R"X5nU$)Nry)r�r�rVr)r*r�rr�_resource_tracker�_fdr�dupr�_main)	rLrHr�r�r�r�r��parent_sentinelr�s	         rr�r�1s���
������N�N�$����
�
�c��%���
������
%(�"�[�%��'�'�+�� ��f�f�W�o�O��;�;�w�0�D��Kr"c��Sn[Rn[U5U:aI[R"X[U5-
5nU(d[S5eX-
n[U5U:aMI[R
U5S$)Nr"zunexpected EOFr)�
SIGNED_STRUCT�sizer?r)r��EOFError�unpack)r�rc�lengthr�s    r�read_signedr�Hsq���D�
�
�
�F�

�d�)�f�
��G�G�B��T��*�+����+�,�,��	��	�d�)�f�
�
����%�a�(�(r"c��[RU5nU(a5[R"X5nUS:Xa[	S5eX#SnU(aM4gg)Nrzshould not get here)r��packr)�writer�)r��n�msg�nbytess    rr�r�RsF��
�
�
�Q�
�C�

����"�"���Q�;��4�5�5��'�l��	�#r")NN)!r�r�r)r�r�rB�structrzrr��rr�contextrrrr	�__all__r@�Structr��objectrr�r�r�r�r�r
rrr
rsr"r�<module>r�s���
��	��
�
�
�
���������%�����
�
�c�"�
�A+��A+�NF�R�.)���l���+�+���1�1��$�;�;��$�;�;�r"

?>