OwlCyberSecurity - MANAGER
Edit File: resource_tracker.cpython-312.opt-1.pyc
� ������hE+����������������������������d�dl�Z�d�dlZd�dlZd�dlZd�dlZddlmZ�ddlmZ�g�d�Z�e ed�������Z ej������������������ej������������������fZ dd��iZe�j������������������d k(��rKd�dlZd�dlZ�e ed �������rej%������������������dej&������������������i��������ej%������������������dej(������������������i���������G�d ��de�������Z�G�d��de�������Z�e��������Zej4������������������Zej6������������������Zej8������������������Zej:������������������Zd��Zy)�����N����)�spawn)�util)�ensure_running�register� unregister�pthread_sigmask�noopc�������������������������y��N��r ���������G/opt/alt/python312/lib64/python3.12/multiprocessing/resource_tracker.py�<lambda>r���!���s������Dr����posix� sem_unlink� semaphore� shared_memoryc�������������������������e�Zd�Zy)�ReentrantCallErrorN)�__name__� __module__�__qualname__r ���r���r���r���r���6���s������r���r���c�������������������������e�Zd�Zd��Zd��Zd��Zd d�Zej������������������ej������������������ej������������������fd�Zd��Zd��Z d��Zd ��Zd ��Zd��Zy)�ResourceTrackerc������������������R�����t��������j��������������������������|�_��������d�|�_��������d�|�_��������y�r���)� threading�RLock�_lock�_fd�_pid��selfs��� r����__init__zResourceTracker.__init__<���s�������_�_�&�� ������ r���c�����������������������t��������d��������)Nz8Reentrant call into the multiprocessing resource tracker)r���r"���s��� r����_reentrant_call_errorz%ResourceTracker._reentrant_call_errorA���s������ �!�F�H�� Hr���c������������������(�����|�j������������������d���������y�)NF)�use_blocking_lock)�_stopr"���s��� r����__del__zResourceTracker.__del__I���s������� � � �U� �+r���c������������������D����|r&|�j�������������������5��|�j���������������������������d�d�d���������y�|�j�������������������j������������������d��������} �|�j���������������������������|r|�j�������������������j���������������������������y�y�#�1�sw�Y���y�xY�w#�|r|�j�������������������j���������������������������w�w�xY�w)NF)�blocking)r����_stop_locked�acquire�release)r#���r(����acquireds��� r���r)���zResourceTracker._stopO���s������������!�!�#������z�z�)�)�5�)�9�H� )��!�!�#���J�J�&�&�(����������J�J�&�&�(���s����A4�B���4A=��Bc�����������������������|�j�������������������j��������������������������dkD��r|�j��������������������������S�|�j�������������������y�|�j�������������������y��||�j��������������������������d�|�_���������||�j������������������d��������d�|�_��������y�)Nr���r���)r����_recursion_countr&���r ���r!���)r#����close�waitpid�waitstatus_to_exitcodes��� r���r-���zResourceTracker._stop_locked[���sk��������:�:�&�&�(�1�,��-�-�/�/��8�8����9�9���� �d�h�h������� � �1���� r���c������������������:�����|�j���������������������������|�j������������������S�r���)r���r ���r"���s��� r����getfdzResourceTracker.getfdr���s�����������x�x�r���c������������������(����|�j�������������������5��|�j�������������������j��������������������������dkD��r|�j��������������������������cddd��������S�|�j��������������������|�j ��������������������������r �ddd��������yt��������j������������������|�j�������������������������� �|�j������������������� t��������j������������������|�j������������������d��������d|�_��������d|�_��������t��������j������������������d��������g�} �|j������������������t��������j������������������j����������������������������������d}t��������j"��������������������������\��}} �|j������������������|��������t%��������j&��������������������������}|gt)��������j*��������������������������z���}|d||z��gz ��}d} �t,��������r(t/��������j0������������������t.��������j2������������������t4���������������}t)��������j6������������������|||�������}|�%t/��������j0������������������t.��������j8������������������|�������� �||�_��������||�_�������� �t��������j������������������|�������� �ddd��������y#�t��������$�r�Y���]w�xY�w#�t ��������$�r�Y���w�xY�w#�|�%t/��������j0������������������t.��������j8������������������|��������w�w�xY�w#��t��������j������������������|����������xY�w#�t��������j������������������|��������w�xY�w#�1�sw�Y���yxY�w)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.r���Nr���zUresource_tracker: process died unexpectedly, relaunching. Some resources might leak.z:from multiprocessing.resource_tracker import main;main(%d)z-c)r���r2���r&���r ����_check_alive�osr3���r!���r4����ChildProcessError�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 ��� r���r���zResourceTracker.ensure_runningv���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�q� ��"�"�1�%��*�*�,���u�t�@�@�B�B����s�Q�w��'��� $��Q�$�'-�'=�'=�f�>N�>N�P`�'a���-�-�c�4��E�C�#�/��.�.�v�/A�/A�<�P� ������ ������{��Z��$�)��������� �� ��,�$�/��.�.�v�/A�/A�<�P��0�� �������� �������{��Z�s�����-J�J�*J� ,H�6%J�-H� J�#A I�-AH'�2'I�I.�(J� H�J�H�J� H$� J�#H$�$J�')I�I�I+�+I.�.J�J�Jc������������������d����� �t��������j������������������|�j������������������d��������y#�t��������$�r�Y�yw�xY�w)z;Check that the pipe has not been closed by sending a probe.s ���PROBE:0:noop TF)r:����writer ����OSErrorr"���s��� r���r9���zResourceTracker._check_alive����s5������ �� �H�H�T�X�X�0�1������� �� �s���� #�� /�/c������������������*�����|�j������������������d||��������y)z0Register name of resource with resource tracker.�REGISTERN��_send�r#����name�rtypes��� r���r���zResourceTracker.register����s������� � �:�t�U�+r���c������������������*�����|�j������������������d||��������y)z2Unregister name of resource with resource tracker.� UNREGISTERNrY���r[���s��� r���r���zResourceTracker.unregister����s������� � �<��u�-r���c������������������2���� �|�j���������������������������dj ������������������|||�������j������������������d�������}t ��������|�������dkD��rt��������d��������t��������j������������������|�j������������������|�������}y�#�t��������$�r�t��������j������������������d|��d|�d���������Y���w�xY�w)NzSResourceTracker called reentrantly for resource cleanup, which is unsupported. The z object z might leak.z{0}:{1}:{2} �asciii���zmsg too long)r���r���r<���r=����format�encode�len� ValueErrorr:���rU���r ���)r#���rM���r\���r]����msg�nbytess��� r���rZ���zResourceTracker._send����s������� <����!���$�$�S�$��6�=�=�g�F���s�8�c�>���^�,�,����$�(�(�C�(����"�� <� � �M�M���g�X�d�X�\�;� <� <�s����A.��.%B�BN)T)r���r���r���r$���r&���r*���r)���r:���r3���r4���r5���r-���r7���r���r9���r���r���rZ���r ���r���r���r���r���:���sU������� H�,� )���h�h�� � �!�8�8� �.�B�H �,�.�r���r���c����������������������t��������j�������������������t���������j������������������t���������j��������������������������t��������j�������������������t���������j������������������t���������j��������������������������t��������r(t��������j ������������������t���������j������������������t����������������t��������j������������������t��������j������������������fD�]��} �|j�����������������������������t��������j��������������������������D��ci�c] ��}|t�������������������}} �t!��������|�d�������5�}|D�]���} �|j#��������������������������j%������������������d�������j'������������������d�������\��}}}t��������j)������������������|d�������}|�t+��������d|��d|�����������|dk(��r||���j-������������������|��������n.|dk(��r||���j/������������������|��������n|d k(��rnt1��������d |z������������� �ddd��������|j7��������������������������D�]B��\��}}|r$ �t9��������j:������������������dt=��������|�������|fz����������|D�]��} � �t��������|���|�����������D�y#�t��������$�r�Y���dw�xY�wc�c}w�#�t��������$�r1� �t��������j2������������������t��������j4�����������������������������n#��Y�nxY�wY���Vw�xY�w#�1�sw�Y�����xY�w#�t��������$�r�Y���w�xY�w#�t��������$�r%} t9��������j:������������������d|�d | ����������Y�d} ~ ��d} ~ ww�xY�w#�w�xY�w#�|j7��������������������������D�]���\��}}|r4 �t9��������j:������������������dt=��������|�������|fz����������n#�t��������$�r�Y�nw�xY�w|D�]I��} � �t��������|���|��������n1#�t��������$�r%} t9��������j:������������������d|�d | ����������Y�d} ~ nd} ~ ww�xY�w�F#�w�xY�w����w�xY�w)zRun resource tracker.�rbra����:NzCannot register z. for automatic cleanup: unknown resource type rX���r_����PROBEzunrecognized command %rzQresource_tracker: There appear to be %d leaked %s objects to clean up at shutdownzresource_tracker: z: )rG����SIGINT�SIG_IGN�SIGTERMrF���r ����SIG_UNBLOCKrI���r?����stdin�stdoutr3���rB����_CLEANUP_FUNCS�keys�set�open�strip�decode�split�getre����add�remove�RuntimeError� excepthook�exc_info�itemsr<���r=���rd���) �fd�fr]����cache�linerM���r\����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�U�C�E�\�'<�E�=�-� �"�d�^�q����'+�z�z�|�':�':�7�'C�'I�'I�#�'N�$�C��u�#1�#5�#5�e�T�#B�L�#�+�(�.�t�f��55�5:�G�=�>��>���j�(��e��(�(��.���,��e��+�+�D�1�����*�+D�s�+J�K�K��!����2�#(�+�+�-��E�;����M�M��#N�#&�{�#3�U�";�#<��=� �$���N�&�u�-�d�3����$��#0��?��� �� ��� >��*�!�����������7����� ��%��^��>�!�������%��N� � � �D�!�&L�M�M��N�����%�#(�+�+�-��E�;����M�M��#N�#&�{�#3�U�";�#<��=���!������#���N�&�u�-�d�3��$��N� � � �D�!�&L�M�M��N�����D���$��#0�s���7H�H�4J.���I�B#H �*I�-J.��#I)�8I8� H�H� I�*$I�I�I �I�I�I�I�I&�"J.��) I5�4I5�8 J&�J!�J)�!J&�&J)�)J+�.M�#K,�+M�, K8 �5M�7K8 �8M�L�M� L?�L:�5M�:L?�?M�M�M�M)r:���rG���r?���r���r<�����r���r����__all__�hasattrrF���rl���rn���rI���rr���r\����_multiprocessing�_posixshmem�updater���� shm_unlinkr|���r����objectr����_resource_trackerr���r���r���r7���r����r ���r���r����<module>r�������s����$� �� �� ��������� 6���� 1�2� ��M�M�6�>�>�2�����L�����7�7�g��������.�����)�4�4� �� �������/�/���� ��� �f�f��f�R�$�%���"�1�1���%�%�� � )� )� �����<r���