Your IP : 3.15.177.45


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

�

*}g���SSKrSSKrSSKrSSKrSSKrSSKJr SSKJr SSKJ	r	 S/r
\RS:Xa\
S/-
r
"S	S\5r
O\
S
/-
r
"SS
\5r"SS
\5r\"5r\R"rg)�N�)�process)�	reduction)�util�stop�win32�	DupSocketc�$�\rSrSrSrSrSrSrg)r	�zPicklable wrapper for a socket.c�|^�UR5mU4Sjn[RUTR5Ulg)Nc�J>�TRU5nURU5 g�N)�share�
send_bytes)�conn�pidr�new_socks   ��F/opt/alt/python313/lib64/python3.13/multiprocessing/resource_sharer.py�send� DupSocket.__init__.<locals>.sends��� ���s�+������&�)�dup�_resource_sharer�register�close�_id)�self�sockrrs   @r�__init__�DupSocket.__init__s-����x�x�z�H�
'�(�0�0��x�~�~�F�D�Hrc���[RUR5nUR5n[R
"U5sSSS5 $!,(df   g=f)z1Get the socket.  This should only be called once.N)r�get_connectionr�
recv_bytes�socket�	fromshare)rrrs   r�detach�DupSocket.detach$s<��!�0�0����:�d����)���'�'��.�;�:�:�s�&A�
A�rN��__name__�
__module__�__qualname__�__firstlineno__�__doc__rr&�__static_attributes__�rrr	r	s��-�	G�	/r�DupFdc�$�\rSrSrSrSrSrSrg)r1�-z-Wrapper for fd which can be used at any time.c�~^�[R"U5mU4SjnU4Sjn[RX#5Ulg)Nc�6>�[R"UTU5 gr)r�send_handle)rr�new_fds  �rr�DupFd.__init__.<locals>.send1s����%�%�d�F�C�8rc�2>�[R"T5 gr)�osr)r7s�rr�DupFd.__init__.<locals>.close3s������� r)r:rrrr)r�fdrrr7s    @rr�DupFd.__init__/s,����V�V�B�Z�F�
9�
!�'�0�0��=�D�Hrc��[RUR5n[R"U5sSSS5 $!,(df   g=f)z-Get the fd.  This should only be called once.N)rr"rr�recv_handle)rrs  rr&�DupFd.detach7s0��!�0�0����:�d� �,�,�T�2�;�:�:�s�A�
Ar(Nr)r0rrr1r1-s��;�	>�	3rc�P�\rSrSrSrSrSr\S5rSSjr	Sr
S	rS
rSr
g)
�_ResourceSharer�=z.Manager for resources using background thread.c���SUl0Ul[R"5UlSUlSUlSUl[R"U[R5 g)Nr)�_key�_cache�	threading�Lock�_lock�	_listener�_address�_threadr�register_after_forkrB�
_afterfork)rs rr�_ResourceSharer.__init__?sI����	�����^�^�%��
������
����� � ���'A�'A�Brc��UR URcUR5 U=RS-
slX4URUR'URUR4sSSS5 $!,(df   g=f)z+Register resource, returning an identifier.Nr)rIrK�_startrErF)rrrs   rr�_ResourceSharer.registerHsW��
�Z�Z��}�}�$����
��I�I��N�I�&*�]�D�K�K��	�	�"��M�M�4�9�9�-��Z�Z�s�A$A;�;
B	c��SSKJn Uup#U"U[R"5RS9nURU[R"545 U$)z<Return connection from which to receive identified resource.r��Client��authkey)�
connectionrUr�current_processrWrr:�getpid)�identrU�address�key�cs     rr"�_ResourceSharer.get_connectionQsE��	'�����7�G�$;�$;�$=�$E�$E�F��	����R�Y�Y�[�!�"��rNc��SSKJn UR URGbU"UR[R
"5RS9nURS5 UR5 URRU5 URR5(a[R"S5 URR5 SUl	SUlSUlURR!5HunupVU"5 M URR#5 SSS5 g!,(df   g=f)z:Stop the background thread and clear registered resources.rrTNrVz._ResourceSharer thread did not stop when asked)rXrUrIrKrrYrWrrrL�join�is_aliver�sub_warningrJrF�items�clear)r�timeoutrUr^r]rrs       rr�_ResourceSharer.stopZs���&�
�Z�Z��}�}�(��4�=�=�#*�#:�#:�#<�#D�#D�F�����t�����	����!�!�'�*��<�<�(�(�*�*��$�$�&;�<����$�$�&�#��� $��
�!%���*.�+�+�*;�*;�*=�&�C��$��G�+>����!�!�#�!�Z�Z�s�D$E�
Ec�>�URR5Hunup#U"5 M URR5 URR	5 UR
bUR
R
5 SUlSUlSUlgr)	rFrdrerI�_at_fork_reinitrJrrKrL)rr]rrs    rrN�_ResourceSharer._afterforkost��"&�+�+�"3�"3�"5��C��$��G�#6��������
�
�"�"�$��>�>�%��N�N� � �"������
���rc�b�SSKJn URbS5e[R"S5 U"[
R"5RSS9UlURRUl	[R"URS9nSUl
UR5 X lg)	Nr)�ListenerzAlready have Listenerz0starting listener and thread for sending handles�)rW�backlog)�targetT)rXrlrJr�debugrrYrWr\rKrG�Thread�_serve�daemon�startrL)rrl�ts   rrQ�_ResourceSharer._startzs���(��~�~�%�>�'>�>�%��
�
�E�F�!�'�*A�*A�*C�*K�*K�UX�Y������.�.��
����D�K�K�0�����	���	��rc�P�[[S5(a8[R"[R[R"55 UR
R
5nUR5nUc
SSS5 gUup4URRU5upVU"X5 U"5 SSS5 Mu!U"5 f=f!,(df   N=f! [R"5(d&[R"[R"56 Nc=f)N�pthread_sigmask)�hasattr�signalrx�	SIG_BLOCK�
valid_signalsrJ�accept�recvrF�popr�
is_exiting�sys�
excepthook�exc_info)rr�msgr]�destination_pidrrs       rrr�_ResourceSharer._serve�s����6�,�-�-��"�"�6�#3�#3�V�5I�5I�5K�L��

4��^�^�*�*�,���)�)�+�C��{��-�,�,/�(�C�"&�+�+�/�/�#�"6�K�D� ��T�3���-������-�,��
4����(�(��N�N�C�L�L�N�3�sO�C!�*C�?C!�!C�*C�2C�:C!�	C
�
C�
C�C!�C!�!AD%)rKrFrErJrIrLr)r*r+r,r-r.rr�staticmethodr"rrNrQrrr/r0rrrBrB=s8��8�C�.�����$�*	�	�4rrB)r:rzr$r�rG�r�contextrr�__all__�platform�objectr	r1rBrrr0rr�<module>r�s���
�
�
�
������(���<�<�7����}��G�
/�F�
/� ��y��G�
3��
3� Y4�f�Y4�x#�$�����r

?>