Edit File: synchronize.cpython-311.opt-2.pyc
� �����f�/����������������������������g�d��Z�ddlZddlZddlZddlZddlZddlmZ�ddlmZ�ddlm Z � �ddlm Z mZ�n#�e$�r��ed�������������w�xY�w�e �ed ������������������������\��ZZej ��������j��������Z�G�d ��de������������Z �G�d��d e ������������Z�G�d��de������������Z�G�d��de ������������Z�G�d��de ������������Z�G�d��de������������Z�G�d��de������������Z�G�d��dej��������������������ZdS�))�Lock�RLock� Semaphore�BoundedSemaphore� Condition�Event�����N����)�context)�process)�util)�SemLock� sem_unlinkz�This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.����c��������������������|�����e�Zd�Z�ej����������������������Zd��Zed����������������Zd��Z d��Z d��Zd��Zd��Z ed����������������Zd S�) r ���c����������������������|�t�����������j�������������������������������������������}|�����������������������������������dk����|�_��������t ����������j��������dk����p|�j��������}t����������d������������D�]E} �t����������j ��������||||�� ����������������������������������|������������x}|�_���������n#�t����������$�r�Y��Bw�xY�wt����������d�������������t����������j��������d|j��������z���������������|�������������������������������������t ����������j��������dk����rd��}t����������j��������|�|�������������|�j��������j���������Kddlm} ��| |�j��������j��������d �������������t����������j��������|�t����������j��������|�j��������j��������fd ��������������d�S�d�S�)N�fork�win32�d���zcannot find name for semaphorezcreated semlock with handle %sc������������������8�����|�j���������������������������������������������d�S��N)�_semlock�_after_fork)�objs��� �B/opt/alt/python311/lib64/python3.11/multiprocessing/synchronize.pyr���z%SemLock.__init__.<locals>._after_forkG���s��������(�(�*�*�*�*�*�����r ���)�register� semaphorer���)�exitpriority)r ����_default_context�get_context�get_start_method�_is_fork_ctx�sys�platform�range�_multiprocessingr ���� _make_namer����FileExistsErrorr����debug�handle� _make_methods�register_after_fork�name�resource_trackerr����Finalize�_cleanup) �self�kind�value�maxvalue�ctx� unlink_now�i�slr���r���s ��� r����__init__zSemLock.__init__2���s�������;��*�6�6�8�8�C��0�0�2�2�f�<����\�W�,�A��0A� ��s���� D�� D�A� �%5�%=��%��4�?�?�+<�+<��& ��& �� ��T�]������#�� �� �� ��� ���� �"�"B�C�C�C�� �3�b�i�?�@�@�@��������<�7�"�"� +�� +�� +��$�T�;�7�7�7��=��)�� 3�2�2�2�2�2��H�T�]�'��5�5�5��M�$�� 0�4�=�3E�2G�'(� *�� *�� *�� *�� *�� *� �*�)s����'1B� B'�&B'c������������������H�����ddl�m}�t����������|���������������||�d�������������d�S�)Nr ���)� unregisterr���)r.���r;���r���)r-���r;���s��� r���r0���zSemLock._cleanupT���s:������0�0�0�0�0�0��4����� �4��%�%�%�%�%r���c������������������J�����|�j���������j��������|�_��������|�j���������j��������|�_��������d�S�r���)r����acquire�release�r1���s��� r���r+���zSemLock._make_methodsZ���s�������}�,����}�,����r���c������������������4�����|�j��������������������������������������������S�r���)r���� __enter__r?���s��� r���rA���zSemLock.__enter__^���s�������}�&�&�(�(�(r���c������������������ ������|�j���������j��������|��S�r���)r����__exit__�r1����argss��� r���rC���zSemLock.__exit__a���s������%�t�}�%�t�,�,r���c����������������������t����������j��������|��������������|�j��������}t����������j��������dk����r,t����������j�������������������������������������������|j��������������������}n|�j��������rt����������d�������������|j��������}||j ��������|j��������|j��������fS�)Nr���z�A SemLock created in a fork context is being shared with a process in a spawn context. This is not supported. Please use the same context to create multiprocessing objects and Process.) r ����assert_spawningr���r#���r$����get_spawning_popen�duplicate_for_childr*���r"����RuntimeErrorr2���r4���r-���)r1���r8����hs��� r����__getstate__zSemLock.__getstate__d���s����������%�%�%� �]���<�7�"�"��*�,�,�@�@���K�K�A�A�� �� K�"��$J��K��K��K��� �A��2�7�B�K���1�1r���c�����������������������t����������j��������j��������|��|�_��������t ����������j��������d|d���������z���������������|�������������������������������������d|�_��������d�S�)Nz recreated blocker with handle %rr���F)r&���r ����_rebuildr���r���r)���r+���r"����r1����states��� r����__setstate__zSemLock.__setstate__r���sN������(�0�9�5�A�� �� �5��a��@�A�A�A�������!����r���c�������������������v�����t����������j����������������������j��������d����������dt����������t����������j����������������������S�)N� semprefix�-)r����current_process�_config�nextr ����_rand��r���r���r'���zSemLock._make_namey���s6������!�1�3�3�;�K�H�H�H��w�}�-�-�-�/�� /r���N)�__name__� __module__�__qualname__�tempfile�_RandomNameSequencerX���r9����staticmethodr0���r+���rA���rC���rL���rQ���r'���rY���r���r���r ���r ���.���s���������������(�H�(�*�*�E� *�� *�� *�D��&��&���\�&� -��-��-�)��)��)�-��-��-�2��2��2�"��"��"���/��/���\�/��/��/r���r ���c��������������������"�����e�Zd�Zdd�Zd��Zd��ZdS�)r���r ���c�����������������L�����t����������j��������|�t����������|t����������|��������������d�S��N�r5���)r ���r9���� SEMAPHORE� SEM_VALUE_MAX�r1���r3���r5���s��� r���r9���zSemaphore.__init__����s$���������y�%��C�H�H�H�H�H�Hr���c������������������4�����|�j��������������������������������������������S�r���)r���� _get_valuer?���s��� r���� get_valuezSemaphore.get_value����s�������}�'�'�)�)�)r���c����������������������� �|�j��������������������������������������������}n#�t����������$�r�d}Y�nw�xY�wd|�j��������j���������d|�d�S�)N�unknown�<�(value=�)>)r���rh���� Exception� __class__rZ����r1���r3���s��� r����__repr__zSemaphore.__repr__����s[������ ��M�,�,�.�.�E�E���� �� �� ��E�E�E� �����#'�>�#:�#:�#:�E�E�E�B�B�������+�+N�r ���)rZ���r[���r\���r9���ri���rr���rY���r���r���r���r�������sO��������������I��I��I��I�*��*��*�C��C��C��C��Cr���r���c�������������������������e�Zd�Zdd�Zd��ZdS�)r���r ���c�����������������B�����t����������j��������|�t����������|||��������������d�S�rb����r ���r9���rd���rf���s��� r���r9���zBoundedSemaphore.__init__����s$���������y�%��C�@�@�@�@�@�@r���c����������������������� �|�j��������������������������������������������}n#�t����������$�r�d}Y�nw�xY�wd|�j��������j���������d|�d|�j���������j���������d�S�)Nrk���rl���rm���z, maxvalue=rn���)r���rh���ro���rp���rZ���r4���rq���s��� r���rr���zBoundedSemaphore.__repr__����sp������ ��M�,�,�.�.�E�E���� �� �� ��E�E�E� ��������'�'�'����� �0F�0F�0F�H�� Hrs���Nrt����rZ���r[���r\���r9���rr���rY���r���r���r���r�������s@��������������A��A��A��A�H��H��H��H��Hr���r���c�������������������������e�Zd�Zd��Zd��ZdS�)r���c�����������������B�����t����������j��������|�t����������dd|��������������d�S��Nr ���rc���rw����r1���r5���s��� r���r9���z Lock.__init__����s$���������y�!�Q�C�8�8�8�8�8�8r���c���������������������� �|�j��������������������������������������������rSt����������j����������������������j��������}t����������j����������������������j��������dk����r|dt����������j����������������������j��������z���z ��}nB|�j��������������������������������������������dk����rd}n"|�j��������������������������������������������dk����rd}nd}n#�t����������$�r�d}Y�nw�xY�wd |�j ��������j���������d |�d�S�)N� MainThread�|r ����Noner����SomeOtherThread�SomeOtherProcessrk���rl���z(owner=rn���)r����_is_miner���rU���r-���� threading�current_threadrh����_countro���rp���rZ���)r1���r-���s��� r���rr���z Lock.__repr__����s������� ��}�%�%�'�'�� *��.�0�0�5���+�-�-�2�l�B�B��C�)�":�"<�"<�"A�A�A�D����)�)�+�+�q�0�0������%�%�'�'�!�+�+�(���)������ �� �� ��D�D�D� �����#'�>�#:�#:�#:�D�D�D�A�As����B.B1��1C��?C�Nry���rY���r���r���r���r�������s7��������������9��9��9�B��B��B��B��Br���r���c�������������������������e�Zd�Zd��Zd��ZdS�)r���c�����������������B�����t����������j��������|�t����������dd|��������������d�S�r|���)r ���r9����RECURSIVE_MUTEXr}���s��� r���r9���zRLock.__init__����s$�����������1�#�>�>�>�>�>�>r���c���������������������� �|�j��������������������������������������������rlt����������j����������������������j��������}t����������j����������������������j��������dk����r|dt����������j����������������������j��������z���z ��}|�j��������������������������������������������}nK|�j��������������������������������������������dk����rd\��}}n(|�j��������������������������������������������dk����rd\��}}nd\��}}n#�t����������$�r�d\��}}Y�nw�xY�wd |�j ��������j���������d |�d|�d�S�) Nr���r����r ���)r����r���r���)r�����nonzero)r����r����)rk���rk���rl����(�, rn���)r���r����r���rU���r-���r����r����r����rh���ro���rp���rZ���)r1���r-����counts��� r���rr���zRLock.__repr__����s����� /��}�%�%�'�'�� <��.�0�0�5���+�-�-�2�l�B�B��C�)�":�"<�"<�"A�A�A�D�� �,�,�.�.�����)�)�+�+�q�0�0�'���e�e���%�%�'�'�!�+�+�:���e�e�;���e����� /�� /�� /�.�K�D�%�%�%� /�����!%��!8�!8�!8�$�$�$����F�Fs����CC��C%�$C%Nry���rY���r���r���r���r�������s7��������������?��?��?�G��G��G��G��Gr���r���c��������������������X�����e�Zd�Zdd�Zd��Zd��Zd��Zd��Zd��Zd��Z dd �Z dd�Zd��Zdd �Z dS�)r���Nc����������������������|p|������������������������������������|�_��������|���������������������d������������|�_��������|���������������������d������������|�_��������|���������������������d������������|�_��������|�������������������������������������d�S��Nr���)r����_lockr����_sleeping_count�_woken_count�_wait_semaphorer+���)r1����lockr5���s��� r���r9���zCondition.__init__����sj�������(�S�Y�Y�[�[�� �"�}�}�Q�/�/����M�M�!�,�,���"�}�}�Q�/�/����������r���c������������������^�����t����������j��������|��������������|�j��������|�j��������|�j��������|�j��������fS�r���)r ���rG���r����r����r����r����r?���s��� r���rL���zCondition.__getstate__����s2���������%�%�%�� �D�0��!�4�#7�9�� 9r���c������������������d�����|\��|�_���������|�_��������|�_��������|�_��������|�������������������������������������d�S�r���)r����r����r����r����r+���rO���s��� r���rQ���zCondition.__setstate__����s6������49� 2���T�)� � �D�0��������r���c������������������4�����|�j��������������������������������������������S�r���)r����rA���r?���s��� r���rA���zCondition.__enter__����s�������z�#�#�%�%�%r���c������������������ ������|�j���������j��������|��S�r���)r����rC���rD���s��� r���rC���zCondition.__exit__����s������"�t�z�"�D�)�)r���c������������������J�����|�j���������j��������|�_��������|�j���������j��������|�_��������d�S�r���)r����r=���r>���r?���s��� r���r+���zCondition._make_methods����s�������z�)����z�)����r���c������������������������ �|�j���������j�������������������������������������������|�j��������j�������������������������������������������z ��}n#�t����������$�r�d}Y�nw�xY�wd|�j��������j���������d|�j���������d|�d�S�)Nrk���rl���r����r����rn���)r����r���rh���r����ro���rp���rZ���r����)r1����num_waiterss��� r���rr���zCondition.__repr__����s������� $��/�8�C�C�E�E��,�5�@�@�B�B�C�K�K���� $�� $�� $�#�K�K�K� $�����!%��!8�!8�!8�$�*�*�*�k�k�k�R�Rs����=A����A�Ac����������������������|�j���������������������������������������������|�j��������j�������������������������������������������}t����������|������������D�]}|�j��������������������������������������������� �|�j�����������������������������d|������������|�j��������������������������������������������t����������|������������D�]}|�j���������������������������������������������S�#�|�j��������������������������������������������t����������|������������D�]}|�j���������������������������������������������w�xY�w)NT) r����r>���r����r���r����r%���r����r=���r����)r1����timeoutr����r7���s��� r����waitzCondition.wait����s����� � ��$�$�&�&�&��� �#�*�*�,�,���u���� !�� !�A��J��� � � � � %��'�/�/��g�>�>�� ��%�%�'�'�'���5�\�\�� %�� %��� �"�"�$�$�$�$� %��� ��%�%�'�'�'���5�\�\�� %�� %��� �"�"�$�$�$�$� %���s ����$C��AD r ���c������������������.����|�j������������������������������d������������r4|�j�����������������������������d������������}|�j������������������������������d�������������4d}||k�����rX|�j�����������������������������d������������r>|�j��������������������������������������������|dz ��}||k�����r|�j�����������������������������d�������������>|rbt����������|������������D�]}|�j����������������������������������������������|�j�����������������������������d������������r �|�j�����������������������������d�������������d�S�d�S�d�S�)NFr���r ���)r����r=���r����r����r>���r%���)r1����n�res�sleepersr7���s��� r����notifyzCondition.notify��s?��������'�'��.�.�� 8��&�.�.�u�5�5�C����'�'��.�.�� 8� �����l�l�t�3�;�;�E�B�B�l�� �(�(�*�*�*���M�H����l�l�t�3�;�;�E�B�B�l���� ��8�_�_�� ,�� ,���!�)�)�+�+�+�+���&�.�.�u�5�5�� ����&�.�.�u�5�5�� �� �� � �� � �� r���c������������������F�����|�����������������������t����������j����������������������d�S�)N)r����)r����r#����maxsizer?���s��� r���� notify_allzCondition.notify_all/��s���������c�k��"�"�"�"�"r���c�������������������������|��������������}|r|S�|�t����������j����������������������|z���}nd�}d�}|s@|�|t����������j����������������������z ��}|dk����rn!|����������������������|��������������|��������������}|�@|S�r����)�time� monotonicr����)r1���� predicater�����result�endtime�waittimes��� r����wait_forzCondition.wait_for2��s�������������� ��M����n�&�&��0�G�G��G��H��� !��"�"�T�^�%5�%5�5���q�=�=���I�I�h�����Y�[�[�F� ��� !��� r���r���rt���)rZ���r[���r\���r9���rL���rQ���rA���rC���r+���rr���r����r����r����r����rY���r���r���r���r�������s����������������������9��9��9� ����� &��&��&�*��*��*�*��*��*�S��S��S�%��%��%��%�.�������4#��#��#�����������r���r���c��������������������:�����e�Zd�Zd��Zd��Zd��Zd��Zd d�Zdefd�Z dS�) r���c����������������������|����������������������|�����������������������������������������������|�_��������|���������������������d������������|�_��������d�S�r����)r���r����_condr����_flagr}���s��� r���r9���zEvent.__init__J��s4�������]�]�3�8�8�:�:�.�.�� ��]�]�1�%�%�� � � r���c������������������������|�j���������5��|�j�����������������������������d������������r'|�j�������������������������������������������� �d�d�d��������������dS� �d�d�d��������������dS�#�1�swxY�w�Y���d�S��NFT)r����r����r=���r>���r?���s��� r����is_setzEvent.is_setN��s������� �Z�� �� ��z�!�!�%�(�(�� �� �"�"�$�$�$�� �� �� �� �� �� �� �� ��� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� s����5A� A�A�Ac������������������������|�j���������5��|�j�����������������������������d�������������|�j��������������������������������������������|�j���������������������������������������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S��NF)r����r����r=���r>���r����r?���s��� r����setz Event.setU��s������� �Z�� $�� $��J���u�%�%�%��J��� � � ��J�!�!�#�#�#� $�� $�� $�� $�� $�� $�� $�� $�� $�� $�� $�� $����� $�� $�� $�� $�� $�� $s����A A"�"A&�)A&c������������������z�����|�j���������5��|�j�����������������������������d�������������d�d�d��������������d�S�#�1�swxY�w�Y���d�S�r����)r����r����r=���r?���s��� r����clearzEvent.clear[��s������� �Z�� &�� &��J���u�%�%�%� &�� &�� &�� &�� &�� &�� &�� &�� &�� &�� &�� &����� &�� &�� &�� &�� &�� &s����0�4�4Nc������������������f����|�j���������5��|�j�����������������������������d������������r|�j��������������������������������������������n|�j������������������������������|�������������|�j�����������������������������d������������r'|�j�������������������������������������������� �d�d�d��������������dS� �d�d�d��������������dS�#�1�swxY�w�Y���d�S�r����)r����r����r=���r>���r����)r1���r����s��� r���r����z Event.wait_��s ����� �Z�� �� ��z�!�!�%�(�(�� )�� �"�"�$�$�$�$�� ����(�(�(��z�!�!�%�(�(�� �� �"�"�$�$�$�� �� �� �� �� �� �� �� ��� �� �� �� �� �� �� �� �� �� �� �� ����� �� �� �� �� �� s����BB&�B&�&B*�-B*�returnc�����������������������|�������������������������������������rdnd}dt����������|�������������j����������dt����������|�������������d�d|��d�S�)Nr�����unsetrl���z at z#x� �>)r�����typer\����id)r1���� set_statuss��� r���rr���zEvent.__repr__k��sK������"�k�k�m�m�8�U�U�� �K�4��:�:�*�K�K��4���K�K�K�j�K�K�K�Kr���r���) rZ���r[���r\���r9���r����r����r����r�����strrr���rY���r���r���r���r���H��s���������������&��&��&������$��$��$�&��&��&� �� �� �� �L�#��L��L��L��L��L��Lr���r���c�������������������������e�Zd�Zd d�Zd��Zd��Zed����������������Zej��������d����������������Zed����������������Z e j��������d����������������Z dS�) �BarrierNc�����������������������dd�l�}ddlm}��||���������������������d������������dz��������������}|�����������������������������������}|����������������������|||||f�������������d|�_��������d|�_��������d�S�)Nr���r ���)� BufferWrapperr7���r���)�struct�heapr�����calcsizer���rQ����_stater����) r1����parties�actionr����r5���r����r�����wrapper�conds ��� r���r9���zBarrier.__init__t��s{������� � � �'�'�'�'�'�'��-����� 4� 4�q� 8�9�9���}�}�������7�F�G�T�7�C�D�D�D��������r���c�����������������������|\��|�_���������|�_��������|�_��������|�_��������|�_��������|�j����������������������������������������������������������������d������������|�_��������d�S�)Nr7���)�_parties�_action�_timeoutr�����_wrapper�create_memoryview�cast�_arrayrO���s��� r���rQ���zBarrier.__setstate__}��sF������&+� $�����d�m� ��T�]��m�5�5�7�7�<�<�S�A�A����r���c������������������B�����|�j���������|�j��������|�j��������|�j��������|�j��������fS�r���)r����r����r����r����r����r?���s��� r���rL���zBarrier.__getstate__���s"������� �t�|�T�]�� �D�M�+�� +r���c�����������������������|�j���������d���������S�r�����r����r?���s��� r���r����zBarrier._state�����������{�1�~�r���c�����������������������||�j���������d<���d�S�r����r����rq���s��� r���r����zBarrier._state�������������A���r���c�����������������������|�j���������d���������S��Nr ���r����r?���s��� r���r����zBarrier._count���r����r���c�����������������������||�j���������d<���d�S�r����r����rq���s��� r���r����zBarrier._count���r����r���)NN) rZ���r[���r\���r9���rQ���rL����propertyr�����setterr����rY���r���r���r����r����r��s����������������������B��B��B� +��+��+��������X����]������]���������X����]������]�����r���r����)�__all__r����r#���r]���r&���r������r ���r���r���r ���r����ImportError�listr%���r����rd���re����objectr���r���r���r���r���r���r����rY���r���r����<module>r�������s�������������������� � � � ������������������������������������������������������� 4�4�4�4�4�4�4�4�4�4����4��4��4� �+��3��4��4��4�4�����"�T�%�%��(�(�^�^����� �(�6� �N/��N/��N/��N/��N/�f��N/��N/��N/�h C�� C�� C�� C�� C��� C�� C�� C�&H��H��H��H��H�y��H��H��H�"B��B��B��B��B�7��B��B��B�2G��G��G��G��G�G��G��G��G�4i��i��i��i��i���i��i��i�^%L��%L��%L��%L��%L�F��%L��%L��%L�T"��"��"��"��"�i���"��"��"��"��"s ����5��A