Edit File: util.cpython-311.pyc
� �����f�7�����������������������N����d�dl�Z�d�dlZd�dlZd�dlZd�dlZd�dlZd�dlmZ�ddlm Z �g�d�Z d�ZdZdZ dZd Zd ZdZdadad ��Zd��Zd��Zd��Zd��Zd*d�Zd��Zd��Z�e��������������Zd��Zd��Z�ej����������������������Z �ej!����������������������Z"d��Z#d��Z$i�Z%�ej!����������������������Z&�G�d��de'������������Z(d*d�Z)d��Z*da+eee)e j,��������e j-��������fd�Z.�ej/��������e.��������������G�d��de'������������Z0�G�d ��d!ej1��������������������Z2 ��e�j3��������d"������������Z4n #�e5$�r�d#Z4Y�nw�xY�wd$��Z6d%��Z7d&��Z8d'��Z9d(��Z:d)��Z;dS�)+�����N)�_args_from_interpreter_flags����)�process)� sub_debug�debug�info�sub_warning� get_logger� log_to_stderr�get_temp_dir�register_after_fork� is_exiting�Finalize�ForkAwareThreadLock�ForkAwareLocal�close_all_fds_except�SUBDEBUG� SUBWARNING����� ������������multiprocessingz+[%(levelname)s/%(processName)s] %(message)sFc������������������N�����t�����������rt����������j��������t����������|�g|�R�ddi��d�S�d�S��N� stacklevel����)�_logger�logr�����msg�argss��� �;/opt/alt/python311/lib64/python3.11/multiprocessing/util.pyr���r���,���s<��������8���H�c�7�D�7�7�7�Q�7�7�7�7�7�8��8�����c������������������N�����t�����������rt����������j��������t����������|�g|�R�ddi��d�S�d�S�r���)r���r����DEBUGr ���s��� r#���r���r���0���s<��������5���E�3�4��4�4�4�!�4�4�4�4�4�5��5r$���c������������������N�����t�����������rt����������j��������t����������|�g|�R�ddi��d�S�d�S�r���)r���r����INFOr ���s��� r#���r���r���4���s<��������4���D�#�3��3�3�3��3�3�3�3�3�4��4r$���c������������������N�����t�����������rt����������j��������t����������|�g|�R�ddi��d�S�d�S�r���)r���r���r���r ���s��� r#���r ���r ���8���s<��������:���J��9�d�9�9�9�q�9�9�9�9�9�:��:r$���c�������������������$����ddl�}�|������������������������������������� �t����������s�|����������������������t����������������������adt����������_��������t ����������t����������d������������r3t����������j��������t�����������������������t����������j ��������t�����������������������nNt����������j�����������������������������t����������di�f�������������t����������j��������� ��������������������t����������di�f�������������|�������������������������������������n#�|�������������������������������������w�xY�wt����������S�)z0 Returns logger used by multiprocessing r���N� unregister��)�logging�_acquireLockr���� getLogger�LOGGER_NAME� propagate�hasattr�atexitr+����_exit_function�register� _exithandlers�remove�append�_releaseLock)r-���s��� r#���r ���r ���<���s������� ��N�N�N���������� F��'�'��4�4�G� !�G����v�|�,�,�� F��!�.�1�1�1����/�/�/�/��$�+�+�^�R��,D�E�E�E��$�+�+�^�R��,D�E�E�E�� �������������������Ns����CC2��2Dc����������������������ddl�}t������������������������}|���������������������t����������������������}|�����������������������������������}|���������������������|�������������|���������������������|�������������|�r|���������������������|��������������dat����������S�)zB Turn on logging and add a handler which prints to stderr r���NT) r-���r ���� Formatter�DEFAULT_LOGGING_FORMAT� StreamHandler�setFormatter� addHandler�setLevel�_log_to_stderrr���)�levelr-����logger� formatter�handlers��� r#���r���r���W���s������� ��N�N�N� �\�\�F��!�!�"8�9�9�I��#�#�%�%�G�����#�#�#� ���g���������������N��Nr$���c�������������������X�����t�����������j��������dk����rdS�t����������t�����������d������������rdS�dS�)N�linuxT�getandroidapilevelF)�sys�platformr2���r,���r$���r#����#_platform_supports_abstract_socketsrK���l���s1������ �|�w����t��s�(�)�)����t��5r$���c�����������������������|�sdS�t����������|�t����������������������r|�d���������dk����S�t����������|�t����������������������r|�d���������dk����S�t����������d|��d��������������)NFr�����zaddress type of z unrecognized)� isinstance�bytes�str� TypeError)�addresss��� r#����is_abstract_socket_namespacerS���t���sj����������u��'�5�!�!��"��q�z�Q��� �G�S� !� !��"��q�z�T�!�!� �?�w�?�?�?� @� @�@r$���c������������������h�����d��}�|�||��������������t����������j����������������������}|�d�|j��������d<���d�S�d�S�)Nc������������������>�����t����������|d���������t����������������������s��d�S��Nr���)� issubclass�FileNotFoundError)�func�path�err_infos��� r#����onerrorz!_remove_temp_dir.<locals>.onerror����s&�������(�1�+�'8�9�9�� �� �� r$���)r\����tempdir)r����current_process�_config)�rmtreer]���r\���r^���s��� r#����_remove_temp_dirra�������sY�������������F�7�G�$�$�$�$��-�/�/�O���"�-1��� �*�*�*��#�"r$���c�������������������0����t����������j����������������������j�����������������������������d������������}�|��hdd�l}dd�l}|���������������������d�������������}�t����������d|��������������t����������d�t����������|j ��������|�fd��������������|�t����������j����������������������j��������d<���|�S�)Nr]���r���zpymp-)�prefixzcreated temp directory %si����)r"����exitpriority)r���r^���r_����get�shutil�tempfile�mkdtempr���r���ra���r`���)r]���rf���rg���s��� r#���r���r�������s��������%�'�'�/�3�3�I�>�>�G������������"�"�'�"�2�2��� (�'�2�2�2�� ��'�v�}�g�.F�"� $�� $�� $�� $�7>���!�!�)�)�4��Nr$���c������������������������t����������t���������������������������������������������������������}�|�������������������������������������|�D�]<\��\��}}}} ��||��������������#�t����������$�r}t����������d|�������������Y�d�}~�5d�}~ww�xY�wd�S�)Nz after forker raised exception %s)�list�_afterfork_registry�items�sort� Exceptionr���)rl����index�identrY����obj�es��� r#����_run_after_forkersrs�������s��������$�*�*�,�,�-�-�E� �J�J�L�L�L�%*��8��8�!����t�c� 8��D��I�I�I�I���� 8�� 8�� 8��3�Q�7�7�7�7�7�7�7�7����� 8����8��8s����A� A7�A2�2A7c������������������^�����|�t�����������t����������t����������������������t����������|�������������|f<���d�S��N)rk����next�_afterfork_counter�id)rq���rY���s��� r#���r ���r �������s)������EH���0�1�1�2�c�7�7�D�A�B�B�Br$���c��������������������F�����e�Zd�ZdZd d�Zdeeej��������fd�Z d��Z d��Zd��ZdS�) r���zA Class which supports object finalization using weakrefs r,���Nc����������������������|�Et����������|t����������������������s0t����������d���������������������|t ����������|�������������������������������������|�t����������j��������||�������������|�_��������n|�t����������d�������������||�_ ��������||�_ ��������|pi�|�_��������|t����������t����������������������f|�_��������t����������j����������������������|�_��������|�t$����������|�j��������<���d�S�)Nz3Exitpriority ({0!r}) must be None or int, not {1!s}z+Without object, exitpriority cannot be None)rN����intrQ����format�type�weakref�ref�_weakref� ValueError� _callback�_args�_kwargsrv����_finalizer_counter�_key�os�getpid�_pid�_finalizer_registry)�selfrq����callbackr"����kwargsrd���s��� r#����__init__zFinalize.__init__����s��������$�j��c�.J�.J�$��E�L�L� �$�|�"4�"4�6��6�7��7�� 7���?�#�K��T�2�2�D�M�M� � !��J�K�K�K�!����� ��|����!�4�(:�#;�#;�<�� ��I�K�K�� �)-��D�I�&�&�&r$���c������������������@���� �||�j���������=�|�j���������|��������������k����r�|d�������������d}n4�|d|�j��������|�j��������|�j����������������������|�j��������|�j��������i�|�j����������}dx|�_��������x|�_��������x|�_��������x|�_��������|�_���������|S�#�t����������$�r��|d�������������Y�dS�w�xY�w)zQ Run the callback unless it has already been called or cancelled z+finalizer ignored because different processNz/finalizer calling %s with args %s and kwargs %szfinalizer no longer registered)r����r����r����r����r����r�����KeyError)r�����wrr����r���r�����ress��� r#����__call__zFinalize.__call__����s������� �#�D�I�.���y�F�F�H�H�$�$�� �G�H�H�H����� �K��.�$�*�d�l�D��D��D�$�d�n�d�j�A�D�L�A�A��7;� <�D�M�� <�D�N�� <�T�Z�� <� �L�4�9��J����� 8�� 8�� 8��I�6�7�7�7�7�7�7� 8���s����B��B�Bc����������������������� �t�����������|�j��������=�dx|�_��������x|�_��������x|�_��������x|�_��������|�_��������dS�#�t����������$�r�Y�dS�w�xY�w)z3 Cancel finalization of the object N)r����r����r����r����r����r����r�����r����s��� r#����cancelzFinalize.cancel����sg������ <�#�D�I�.� �8<� <�D�M�� <�D�N�� <�T�Z�� <� �L�4�9�9�9�� ��� �� �� ��D�D� ���s���� 4�� A�Ac�����������������������|�j���������t����������v�S�)zS Return whether this finalizer is still waiting to invoke callback )r����r����r����s��� r#����still_activezFinalize.still_active����s��������y�/�/�/r$���c���������������������� �|�������������������������������������}n#�t����������t����������f$�r�d�}Y�nw�xY�w|�d|�j��������j��������z��S�d|�j��������j���������dt����������|�j��������d|�j����������������������}|�j��������r|dt����������|�j��������������������z���z ��}|�j ��������r|dt����������|�j ��������������������z���z ��}|�j ��������d���������� |dt����������|�j ��������d���������������������z���z ��}|d z���S�) Nz<%s object, dead>�<z object, callback=�__name__z, args=z , kwargs=r���z, exitpriority=�>)r�����AttributeErrorrQ���� __class__r�����getattrr����r����rP���r����r����)r����rq����xs��� r#����__repr__zFinalize.__repr__����s����� ��-�-�/�/�C�C��� �*�� �� �� ��C�C�C� ������;�&���)@�@�@������'�'�'���� �D�N�C�C�C� E����:�� -� ��S���_�_�,�,�A��<�� 1� ��s�4�<�0�0�0�0�A��9�Q�<�#� �"�S���1��%6�%6�6�6�A��3�w�s������-�-)r,���NN) r����� __module__�__qualname__�__doc__r����r����r���r����r����r����r����r����r����r,���r$���r#���r���r�������s������������������.��.��.��.�&���&9�$�R�Y� �������0 <�� <�� <�0��0��0���������r$���r���c�������������������������t������������dS����d���n��fd���fd�t����������t�����������������������D���������������}|���������������������d��������������|D�]b}t��������������������������������|������������}|�Dt ����������d|������������� ��|����������������:#�t ����������$�r�ddl}|������������������������������������Y��^w�xY�w�c���t�����������������������������������������������dS�dS�) z� Run all finalizers whose exit priority is not None and at least minpriority Finalizers with highest priority are called first; finalizers with the same priority will be called in reverse order of creation. Nc�����������������������|�d���������d�uS�rV���r,���)�ps��� r#����<lambda>z!_run_finalizers.<locals>.<lambda>��s������q��t�4�'��r$���c������������������0������|�d���������d�uo|�d����������k����S�rV���r,���)r�����minprioritys��� �r#���r����z!_run_finalizers.<locals>.<lambda>��s�������q��t�4�'�?�A�a�D�K�,?��r$���c������������������*������g�|�]}��|������������� |��S�r,���r,���)�.0�key�fs��� �r#���� <listcomp>z#_run_finalizers.<locals>.<listcomp>&��s&�������?�?�?�C���#���?�C�?�?�?r$���T)�reversez calling %sr���) r����rj���rm���re���r���rn���� traceback� print_exc�clear)r�����keysr����� finalizerr����r����s���` @r#����_run_finalizersr������s ���������"�� ����'�'���?�?�?�?���@�?�?�?�4� 3�4�4�?�?�?�D��I�I�d�I������ &�� &��'�+�+�C�0�0� �� ��l�I�.�.�.� &�� �������� &�� &�� &� � � � ��#�#�%�%�%�%�%� &���� �!�����!�!�#�#�#�#�#���s����> B � "B.�-B.c�������������������"�����t�����������pt�����������du�S�)z6 Returns true if the process is shutting down N)�_exitingr,���r$���r#���r���r���;��s��������'�x�4�'�'r$���c������������������|����t�����������s�da��|�d��������������|d��������������|d��������������|���������������p�|��������������D�]3}|j��������r*�|�d|j���������������������|j���������������������������������������������4�|��������������D�]'}�|�d|j���������������������|�������������������������������������(�|d��������������|���������������d�S�d�S�)NTzprocess shutting downz2running all "atexit" finalizers with priority >= 0r���z!calling terminate() for daemon %szcalling join() for process %sz)running the remaining "atexit" finalizers)r�����daemon�name�_popen� terminate�join)r���r���r�����active_childrenr^���r����s��� r#���r4���r4���C��s������������� $�%�%�%� ��B�C�C�C��������?���(��%�_�&�&�� )�� )���8��)��D�<�a�f�E�E�E��H�&�&�(�(�(��$�_�&�&�� �� ����4�a�f�=�=�=�������� ��9�:�:�:��������?��r$���c��������������������&�����e�Zd�Zd��Zd��Zd��Zd��ZdS�)r���c�����������������������t����������j����������������������|�_��������|�j��������j��������|�_��������|�j��������j��������|�_��������t����������|�t����������j���������������������d�S�ru���)� threading�Lock�_lock�acquire�releaser ���r����_at_fork_reinitr����s��� r#���r����zForkAwareThreadLock.__init__t��sC�������^�%�%�� ��z�)����z�)����D�"5�"E�F�F�F�F�Fr$���c������������������8�����|�j���������������������������������������������d�S�ru���)r����r����r����s��� r#���r����z#ForkAwareThreadLock._at_fork_reinitz��s������� �"�"�$�$�$�$�$r$���c������������������4�����|�j��������������������������������������������S�ru���)r����� __enter__r����s��� r#���r����zForkAwareThreadLock.__enter__}��s�������z�#�#�%�%�%r$���c������������������ ������|�j���������j��������|��S�ru���)r�����__exit__)r����r"���s��� r#���r����zForkAwareThreadLock.__exit__���s������"�t�z�"�D�)�)r$���N)r����r����r����r����r����r����r����r,���r$���r#���r���r���s��sS��������������G��G��G�%��%��%�&��&��&�*��*��*��*��*r$���r���c�������������������������e�Zd�Zd��Zd��ZdS�)r���c������������������(�����t����������|�d���������������d�S�)Nc������������������4�����|�j��������������������������������������������S�ru���)�__dict__r����)rq���s��� r#���r����z)ForkAwareLocal.__init__.<locals>.<lambda>���s������s�|�/A�/A�/C�/C��r$���)r ���r����s��� r#���r����zForkAwareLocal.__init__���s�������D�"C�"C�D�D�D�D�Dr$���c������������������$�����t����������|�������������dfS�)Nr,���)r}���r����s��� r#���� __reduce__zForkAwareLocal.__reduce__���s�������D�z�z�2�~�r$���N)r����r����r����r����r����r,���r$���r#���r���r������s5��������������E��E��E���������r$���r����SC_OPEN_MAX����c������������������(����t����������|�������������dt����������gz���}�|�������������������������������������|�d���������t����������k����s J�d���������������t����������t ����������|�������������dz ��������������D�])}t����������j��������|�|���������dz���|�|dz��������������������������*d�S�)N���zfd too larger���)rj����MAXFDrm����range�lenr����� closerange)�fds�is��� r#���r���r������s������� �s�)�)�r�5�k� !�C��H�H�J�J�J��r�7�e����^���� �3�s�8�8�a�<� � ��*��*�� � �c�!�f�Q�h��A�a�C��)�)�)�)�*��*r$���c�����������������������t�����������j���������d�S� �t�����������j��������������������������������������������n#�t����������t����������f$�r�Y�nw�xY�w �t����������j��������t ����������j��������t ����������j��������������������}� �t ����������|�dd�������������t�����������_��������d�S�#��t����������j��������|����������������xY�w#�t����������t����������f$�r�Y�d�S�w�xY�w)Nzutf-8F)�encoding�closefd) rI����stdin�close�OSErrorr����r�����open�devnull�O_RDONLY)�fds��� r#����_close_stdinr�������s������� �y���� �� ���������Z� �� �� �� ��� ���� � �W�R�Z��� -� -�� ��R�'�5�A�A�A�C�I�I�I�� ��H�R�L�L�L�������Z� �� �� �� ���� ���s3����/��A�A�)B)��1B��B&�&B)��)B>�=B>c������������������������� �t�����������j��������������������������������������������n#�t����������t����������f$�r�Y�nw�xY�w �t�����������j��������������������������������������������d�S�#�t����������t����������f$�r�Y�d�S�w�xY�wru���)rI����stdout�flushr����r�����stderrr,���r$���r#����_flush_std_streamsr�������s������� �� ���������J�'�� �� �� ��� ���� �� ����������J�'�� �� �� ���� ���s����!��5�5�A��A.�-A.c����������������������dd�l�}dd�l}t����������t����������t ����������t ����������|������������������������������������}t ����������j����������������������\��}} �|���������������������||�gd|d�d�dddddd||dddd�d�d�dd�|j ��������������������t ����������j ��������|�������������t ����������j ��������|�������������S�#�t ����������j ��������|�������������t ����������j ��������|�������������w�xY�w)Nr���Tr����F)�_posixsubprocess� subprocess�tuple�sorted�mapr{���r�����pipe� fork_exec� _USE_VFORKr����)rZ���r"����passfdsr����r�����errpipe_read� errpipe_writes��� r#����spawnv_passfdsr�������s����������������F�3�s�G�,�,�-�-�.�.�G�"$�'�)�)��L�-� ��)�)��4�&�$���t���B��B��L�-��5�"�d�D�$��D��!� #��#�� ������ ��������� ������ ���������s����0B(��(*Cc�������������������8�����|�D�]}t����������j��������|��������������dS�)z/Close each file descriptor given as an argumentN)r����r����)r����r����s��� r#���� close_fdsr�������s*������������ ���������r$���c������������������� ����ddl�m}��t����������j�����������������������ddlm}�|j��������������������������������������������ddlm}�|j ��������������������������������������������t�������������������������|�������������������������������������|�������������������������������������dS�)zKCleanup multiprocessing resources when multiprocessing tests completed.r���)�support)� forkserver)�resource_trackerN) �testr����r����_cleanupr���r�����_forkserver�_stopr�����_resource_trackerr����� gc_collect� reap_children)r����r����r����s��� r#����_cleanup_testsr�����s���������������������+�*�*�*�*�*��� � �"�"�"��1�0�0�0�0�0��&�,�,�.�.�.�������������������r$���ru���)<r����� itertoolsrI���r~���r3���r����r����r�����r����__all__�NOTSETr���r&���r(���r���r0���r<���r���rA���r���r���r���r ���r ���r���rK���rS����abstract_sockets_supportedra���r����WeakValueDictionaryrk����countrw���rs���r ���r����r�����objectr���r����r���r����r����r^���r4���r5���r����localr����sysconfr����rn���r���r����r����r����r����r��r,���r$���r#����<module>r�����sD����� � � � ���������� � � � ������� � � � ����������3��3��3��3��3��3�������������������� ���� �� �� � ���F��� ����8��8��8�5��5��5�4��4��4�:��:��:������6�������*�����A��A��A��A�@�B�B��� 2�� 2�� 2������$�2�g�1�3�3���$�Y�_�&�&���8��8��8�I��I��I�����$�Y�_�&�&���S��S��S��S��S�v��S��S��S�l&$��&$��&$��&$�X(��(��(�����E�?�#*�#:�#*�#:�(��(��(��(�T�����������*��*��*��*��*�&��*��*��*�"���������Y�_���������B�J�}�%�%�E�E����������E�E�E�����*��*��*� �� �� �. �� �� � �� �� � �������������s����5D��D�D