Your IP : 216.73.216.24


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

�

u�h�.���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��\rSrSrSrSrSrSSjr\R\R\R4SjrSr
SrS	rS
rSrSrS
rg)�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�"�URSS9 g)NF)�use_blocking_lock)�_stopr-s r�__del__�ResourceTracker.__del__Ns��	
�
�
�U�
�+rc�f�U(a&UR UR5 SSS5 gURRSS9nUR5 U(aURR5 gg!,(df   g=f!U(aURR5 ff=f)NF)�blocking)r)�_stop_locked�acquire�release)r.r5�acquireds   rr6�ResourceTracker._stopTs��������!�!�#����z�z�)�)�5�)�9�H�
)��!�!�#���J�J�&�&�(�������J�J�&�&�(��s�A;�B�;
B	�$B0c�L�URR5S:�aUR5$URcgURcgU"UR5 SUlU"URS5upESUlU"U5Ulg![a
 SUlgf=f)Nrr)r)�_recursion_countr2r*r+r,�
ValueError)r.�close�waitpid�waitstatus_to_exitcode�_�statuss      rr;�ResourceTracker._stop_locked`s����:�:�&�&�(�1�,��-�-�/�/��8�8����9�9���	�d�h�h������D�I�I�q�)�	����	�	"�3�F�;�D�N���	"�!�D�N�	"�s�
B�B#�"B#c�:�UR5 UR$r)rr*r-s r�getfd�ResourceTracker.getfd~s�������x�x�rc�p�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#-/-
nSn[.(a)[0R2"[0R4[65n[*R8"XVU5nUb%[0R2"[0R:U5 X@lX�l[
R"U5 SSS5 g![a GNmf=f!["a GN#f=f!Ub&[0R2"[0R:U5 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)rAr2r*�_check_alive�osrCr+rD�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_SETMASK)	r.�fds_to_pass�cmd�r�w�exe�args�prev_sigmask�pids	         rr�ResourceTracker.ensure_running�s'��
�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��'�� $��Q�$�}�'-�'=�'=�f�>N�>N�P`�'a���-�-�c��E�C�#�/��.�.�v�/A�/A�<�P�
���	������}�Z��$)������
��
��,$�/��.�.�v�/A�/A�<�P�0��
��������
������}�Z�s��.J'�#J'�1 J'�.H �-J'�.-H1�J'�5A
I0�AI�(I0�3J�J'� 
H.�*J'�-H.�.J'�1
H?�;J'�>H?�?J'�+I-�-I0�0J	�	J�J$�$J'�'
J5c�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)rN�writer*�OSErrorr-s rrM�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.�
UNREGISTERNrorqs   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})rrrPrQ�format�encode�lenrBrNrjr*)r.rar
rr�msg�nbytess      rrp�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)T)rrr r!r/r2r7r6rNrCrDrEr;rJrrMrrrpr"rrrr$r$>sU���H�,�
)��h�h��
�
�!�8�8�	"�<�C�J	�,�.�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�rbrx�:NzCannot register z. for automatic cleanup: unknown resource type rnru�PROBEzunrecognized command %r�rrz%resource_tracker: There appear to be z leaked z" objects to clean up at shutdown: �zresource_tracker: z: ) r[�SIGINT�SIG_IGN�SIGTERMrZr	�SIG_UNBLOCKr]rS�stdin�stdoutrCrV�_CLEANUP_FUNCS�keys�set�open�strip�decode�split�getrB�add�remover�
excepthook�exc_info�itemsrPrQr{�exit)�fd�frr�cache�	exit_code�linerar
�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) rNr[rSr'rP�rr�__all__�hasattrrZr�r�r]rr�r
�_multiprocessing�_posixshmem�updater�
shm_unlinkrr�objectr$�_resource_trackerrrrrJr�rrr�<module>r�s��$
�
�
�����
6���� 1�2�
��M�M�6�>�>�2��H�
�
���
�7�7�g�������.�.�����)�4�4�
�	������/�/���
	��	�o�f�o�d$�%��"�1�1���%�%��
�
)�
)�
�����Jr

?>