Your IP : 3.145.1.49


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

�

*}g,���SSKrSSKrSSKrSSKrSSKrSSKJr SSKJr /SQr\	"\S5r
\R\R4r
Sr\SS	.r\R S
:XaPSSKrSSKr\	"\S5(a\R'S\R(05 \R'S
\R*05 "SS\5r"SS\5r\"5r\R6r\R8r\R:r\R<rSrg)�N�)�spawn)�util)�ensure_running�register�
unregister�pthread_sigmaskc��[S5e)Nz-noop should never be registered or cleaned up)�RuntimeError��names �G/opt/alt/python313/lib64/python3.13/multiprocessing/resource_tracker.py�cleanup_noopr s��
�F�
G�G�c��g�N�rs r�<lambda>r%s��$r)�noop�dummy�posix�
sem_unlink�	semaphore�
shared_memoryc��\rSrSrSrg)�ReentrantCallError�:rN)�__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__rrrrr:s��rrc�J�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
g)
�ResourceTracker�>c�b�[R"5UlSUlSUlSUlgr)�	threading�RLock�_lock�_fd�_pid�	_exitcode��selfs r�__init__�ResourceTracker.__init__@s%���_�_�&��
������	���rc��[S5e)Nz8Reentrant call into the multiprocessing resource tracker)rr-s r�_reentrant_call_error�%ResourceTracker._reentrant_call_errorFs��
!�F�H�	Hrc���UR URR5S:�aUR5sSSS5 $URc
SSS5 g[R
"UR5 SUl[R"URS5upSUl[R"U5Ul	SSS5 g![a
 SUl	Nf=f!,(df   g=f)Nrr)r)�_recursion_countr2r*�os�close�waitpidr+�waitstatus_to_exitcoder,�
ValueError)r.�_�statuss   r�_stop�ResourceTracker._stopNs���
�Z�Z��z�z�*�*�,�q�0��1�1�3�	�Z�
�x�x����Z�
�H�H�T�X�X���D�H��
�
�4�9�9�a�0�I�A��D�I�
&�!#�!:�!:�6�!B���%�Z��&�
&�!%���
&��'�Z�s6�.C)�C)�AC)�.C�C&�#C)�%C&�&C)�)
C7c�:�UR5 UR$r)rr*r-s r�getfd�ResourceTracker.getfdfs�������x�x�rc��UR URR5S:�aUR5sSSS5 $URb�UR	5(a
SSS5 g[
R"UR5 URb![
R"URS5 SUlSUlSUl
[R"S5 /nUR[RR!55 Sn[
R$"5up4URU5 [&R("5nU/[*R,"5-nUSX#-/-
n[.(a)[0R2"[0R4[65 [*R8"XVU5n[.(a)[0R2"[0R:[65 X@lXpl[
R"U5 SSS5 g![a GNwf=f!["a GN-f=f![.(a*[0R2"[0R:[65 ff=f! [
R"U5 e=f![
R"U5 f=f!,(df   g=f)z�Make sure that resource tracker process is running.

This can be run from any process.  Usually a child process will use
the resource created by its parent.rNrzUresource_tracker: process died unexpectedly, relaunching.  Some resources might leak.z:from multiprocessing.resource_tracker import main;main(%d)z-c)r)r5r2r*�_check_aliver6r7r+r8�ChildProcessErrorr,�warnings�warn�append�sys�stderr�fileno�	Exception�piper�get_executabler�_args_from_interpreter_flags�
_HAVE_SIGMASK�signalr	�	SIG_BLOCK�_IGNORED_SIGNALS�spawnv_passfds�SIG_UNBLOCK)r.�fds_to_pass�cmd�r�w�exe�args�pids        rr�ResourceTracker.ensure_runningjs��
�Z�Z��z�z�*�*�,�q�0��1�1�3��Z��x�x�#��$�$�&�&���Z�������"���y�y�,��
�
�4�9�9�a�0� ��� ��	�!%����
�
�I�J��K�
��"�"�3�:�:�#4�#4�#6�7�O�C��7�7�9�D�A�
��"�"�1�%��*�*�,���u�t�@�@�B�B����s�w��'��U�$�}��.�.�v�/?�/?�AQ�R��-�-�c��E�C�$�}��.�.�v�/A�/A�CS�T�
���	������{�Z��$)������
��
��*%�}��.�.�v�/A�/A�CS�T�%��
��������
������{�Z�s��.J=�#J=�1 J=�.H*�-J=�.-H;�J=�5AJ�>AI�	4J�=J"�
J=�*
H8�4J=�7H8�8J=�;
I	�J=�I	�	J=�7J�J�J�J"�"J:�:J=�=
Kc�h�[R"URS5 g![a gf=f)z;Check that the pipe has not been closed by sending a probe.s
PROBE:0:noop
TF)r6�writer*�OSErrorr-s rrC�ResourceTracker._check_alive�s5��	�
�H�H�T�X�X�0�1����	��	�s�!$�
1�1c�(�URSX5 g)z0Register name of resource with resource tracker.�REGISTERN��_send�r.r
�rtypes   rr�ResourceTracker.register�s���
�
�:�t�+rc�(�URSX5 g)z2Unregister name of resource with resource tracker.�
UNREGISTERNrcres   rr�ResourceTracker.unregister�s���
�
�<��-rc��UR5 SR	XU5RS5n[
U5S:�a[S5e[R"URU5nU[
U5:Xd SR	U[
U555eg![a! [R"SUSU<S35 N�f=f)	NzSResourceTracker called reentrantly for resource cleanup, which is unsupported. The z object z might leak.z{0}:{1}:{2}
�asciiizmsg too longznbytes {0:n} but len(msg) {1:n})rrrErF�format�encode�lenr:r6r^r*)r.rVr
rf�msg�nbytess      rrd�ResourceTracker._send�s���
	<����!��$�$�S��6�=�=�g�F���s�8�c�>��^�,�,����$�(�(�C�(����S��!�	�#D�#K�#K��C��H�$�	�!��"�	<�

�M�M���g�X�d�X�\�;�
<�	<�s�B�(C	�C	)r,r*r)r+N)rrr r!r/r2r=r@rrCrrrdr"rrrr$r$>s2���H�&�0�B�H	�,�.�rr$c��[R"[R[R5 [R"[R[R5 [(a)[R
"[R[5 [R[R4HnUR5 M [R5Vs0sH
o"[5_M nnSn[!US5nUH�nUR#5R%S5R'S5upgn[R)US5nUc[+SUSU35eUS:XaX2R-U5 MzUS	:XaX2R/U5 M�US
:XaM�[1SU-5e SSS5 UR75HYup)U	(a3S
nUS:XaO)[8R:"S[=U	5SUSU	35 U	Hn[U"U5 M M[ [R>"U5 g![a GM�f=fs snf![a8 Sn[R2"[R4"56 GM�! GM�=ff=f!,(df   N�=f![a N�f=f![a*n
Sn[8R:"SU<SU
<35 Sn
A
N�Sn
A
ff=f!f=f!UR75H�up)U	(aCS
nUS:XaO9[8R:"S[=U	5SUSU	35 O![a Of=fU	HQn[U"U5 O7![a*n
Sn[8R:"SU<SU
<35 Sn
A
OSn
A
ff=fMN!f=f M� [R>"U5 f=f)zRun resource tracker.r�rbrl�:NzCannot register z. for automatic cleanup: unknown resource type rbri�PROBEzunrecognized command %r�rrz%resource_tracker: There appear to be z leaked z" objects to clean up at shutdown: �zresource_tracker: z: ) rP�SIGINT�SIG_IGN�SIGTERMrOr	rTrRrH�stdin�stdoutr7rK�_CLEANUP_FUNCS�keys�set�open�strip�decode�split�getr:�add�remover�
excepthook�exc_info�itemsrErFro�exit)�fd�frf�cache�	exit_code�linerVr
�cleanup_func�rtype_cache�es           r�mainr��s{���M�M�&�-�-����0�
�M�M�&�.�.�&�.�.�1��}����v�1�1�3C�D��i�i����
$��	�
�G�G�I�%�(6�':�':�'<�=�'<�e�C�E�\�'<�E�=��I�9�
�"�d�^�q����'+�z�z�|�':�':�7�'C�'I�'I�#�'N�$�C�u�#1�#5�#5�e�T�#B�L�#�+�(�.�t�f�55�5:�G�=�>�>��j�(���(�(��.���,���+�+�D�1�����*�+D�s�+J�K�K�!��4#(�+�+�-��E��
� !�I���'�� �
�
�C�"�;�/�0����@5�5@�M�C��$���N�&�u�-�d�3�
�$�!#0�:	�������	��	��
>��.!�� !�I���������7�������%�^��P!�����%�N�$%�	� �
�
�D�!�&L�M�M��N����7#(�+�+�-��E��
� !�I���'�� �
�
�C�"�;�/�0����@5�5@�M�C���
!�����#���N�&�u�-�d�3��$�N�$%�	� �
�
�D�!�&L�M�M��N����D��$�!#0�:	�����sK�?I
�)I�L�J&�A4I!�	J&�I!�$J&�&I!�,J&�.I!�<J&�>L�#J7�,(J7�K�

I�I�!J#�.&J�J&�J	�J#�J&�J#�#J&�&
J4�0L�7
K�K�
K;� K6�1K>�6K;�;K>�>L�O�!M�)O�*(M�O�
M 	�O�M 	� O�*M:�9N3�:
N.� N)�$N3�)N.�.N3�1O�3N5�5 O) r6rPrHr'rE�rr�__all__�hasattrrOryr{rRrr~r
�_multiprocessing�_posixshmem�updater�
shm_unlinkrr�objectr$�_resource_trackerrrrr@r�rrr�<module>r�s��$
�
�
�����
6���� 1�2�
��M�M�6�>�>�2��H�
�
���
�7�7�g�������.�.�����)�4�4�
�	������/�/���
	��	�V�f�V�r$�%��"�1�1���%�%��
�
)�
)�
�����Jr

?>