← back to Atmos Game

assets/gen/.venv/lib/python3.12/site-packages/anyio/__pycache__/to_process.cpython-312.pyc

71 lines

�

c�bjx&����UddlmZdZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
ddlmZmZdd	lmZmZmZdd
lmZddlmZddlmZdd
lmZmZddlmZm Z m!Z!ddl"m#Z#m$Z$ddl%m&Z&ejNdk\r	ddlm(Z(m)Z)nddl*m(Z(m)Z)dZ+ed�Z,e(d�Z-e#d�Z.de/d<e#d�Z0de/d<e#d�Z1de/d<ddd�									d"d�Z2d#d�Z3d$d �Z4e5d!k(re4�yy)%�)�annotations)�current_default_process_limiter�process_worker�run_syncN)�deque)�Callable)�
ModuleType)�TypeVar�cast�)�current_time�get_async_backend�get_cancelled_exc_class)�BrokenWorkerProcess)�open_process)�CapacityLimiter)�CancelScope�
fail_after)�ByteReceiveStream�ByteSendStream�Process)�RunVar�checkpoint_if_cancelled)�BufferedByteReceiveStream)��)�TypeVarTuple�Unpacki,�T_Retval�PosArgsT�_process_pool_workerszRunVar[set[Process]]�_process_pool_idle_workersz$RunVar[deque[tuple[Process, float]]]�_default_process_limiterzRunVar[CapacityLimiter]F)�cancellable�limiterc	�������K�d����fd�}t��d{���tjd||ftj��}	tj��tj�}|xs
t�4�d{���|�r|j�\�}�j��tt �j"��t%tt&�j(���t+�}g}	|r[||ddz
t,krnH|j/�\}
}|
j1��j3|
�|	j5|
�|r�[t7d��5|	D]}|j9��d{����	ddd��nR�j3��|r��t:j<d	d
t>g}tA|tBjDtBjD���d{����	tt �j"��t%tt&�j(���tGd�5�jId
��d{���}
ddd�
dk7rtKd|
����tMt:jNddd�}tjdt:jP|ftj��}||��d{����jW��t7|��5	ttX||��d{������vr|j5�t+�f�cddd�cddd��d{���S7��$#t$r[t��t�}tj��tj|�t�j��Y��4wxYw7��&7��7#1swY��4xYw7���7��{#1swY��{xYw7��#tJtS�f$r�tT$r!}�j1�tKd�|�d}~wwxYw7��7��#��vr|j5�t+�f�wwxYw#1swYnxYwddd��d{���7y#1�d{���7swYyxYw�w)a'
    Call the given function with the given arguments in a worker process.

    If the ``cancellable`` option is enabled and the task waiting for its completion is
    cancelled, the worker process running it will be abruptly terminated using SIGKILL
    (or ``terminateProcess()`` on Windows).

    :param func: a callable
    :param args: positional arguments for the callable
    :param cancellable: ``True`` to allow cancellation of the operation while it's
        running
    :param limiter: capacity limiter to use to limit the total amount of processes
        running (if omitted, the default limiter is used)
    :raises NoEventLoopError: if no supported asynchronous event loop is running in the
        current thread
    :return: an awaitable that yields the return value of the function.

    c���K�	�	j|��d{����jdd��d{���}|jd�\}}|dvrtd|�����j	t|���d{���}tj |�}|dk(rt|t�sJ�|�|S7��7�~7�8#t$r�}�
j��	�j�td��5�j��d{���7ddd�n#1swYnxYwn#t$rYnwxYwt|t��r�t|�d}~wwxYw�w)	N�
�2� )�RETURN�	EXCEPTION�-Worker process returned unexpected response: T��shieldr,)�send�
receive_until�split�RuntimeError�receive_exactly�int�
BaseException�discard�killr�aclose�ProcessLookupError�
isinstancerr�pickle�loads)�pickled_cmd�response�status�length�pickled_response�exc�retval�buffered�process�stdin�workerss       �����g/Users/macstudio3/Projects/atmos-game/assets/gen/.venv/lib/python3.12/site-packages/anyio/to_process.py�send_raw_commandz"run_sync.<locals>.send_raw_commandFs;�����	3��*�*�[�)�)�)�%�3�3�E�2�>�>�H�%�^�^�D�1�N�F�F��6�6�"�C�H�<�P���&.�%=�%=�c�&�k�%J�J�����.�/���\�!��f�m�4�4�4��L��M�9
*��>�� K���	3��O�O�G�$�
����� ��-�!�.�.�*�*�*�.�-�-��%�
��
���#�6�8�9��)�s�2��	3�s��E�B6�B0�B6�B2�AB6�;B4�<B6�0E�0B6�2B6�4B6�6	E
�?E�D�-D�D�D�	D�D	�D�E�	D)�&E�(D)�)E�E
�
EN�run)�protocolrrTr.z-uz-m)rG�stdout���READY
r-�__main__�__file__�initz*Error during worker process initialization)r>�bytes�return�object)-rr<�dumps�HIGHEST_PROTOCOLr!�getr"�LookupError�setrr�#setup_process_pool_exit_at_shutdownr�pop�
returncoderrrGrrrMr
�WORKER_MAX_IDLE_TIME�popleftr8�remove�appendrr9�sys�
executable�__name__r�
subprocess�PIPEr�receiver�getattr�modules�pathrr6�addr)�funcr$r%�argsrJ�request�idle_workers�
idle_since�now�killed_processes�process_to_kill�killed_process�command�message�main_module_path�pickledrCrErFrGrHs                 @@@@rIrr-s������2��B"�
#�#�#��l�l�E�4��.��9P�9P�Q�G�I�'�+�+�-��1�5�5�7���;�9�;�;�;��".�"2�"2�"4��G�Z��!�!�)��^�W�]�]�;��4��*�G�N�N�;���#�n��24� �"��\�!�_�Q�/�/�2F�F��2>�2F�2F�2H�/�O�Z�#�(�(�*��N�N�?�3�$�+�+�O�<�#�!��-�*:��,�3�3�5�5�5�+;�.���N�N�7�#�7�:�~�~�t�T�8�<�G�(��z���z�����G�
��^�W�]�]�;��4��*�G�N�N�;��� ��^�$,�$4�$4�Q�$7�7�G�$��j�(�-�G��{�S���$+�3�;�;�z�+B�J�PT�#U� � �,�,��S�X�X�'7�8�#�4�4���'�w�/�/�/�
�K�K�� �
�K��
0�
C��H�,<�W�,E�&E�F��g�%� �'�'��,�.�(A�B�1�
0�E<�;�;�$���I��%���w���!�!�'�*�"�&�&�|�4���?�?��H�I��<��66��.�-����8��$�^��0��'�)@�)B�C�
�� �
�����)�@�����
��'F��I<��L�g�%� �'�'��,�.�(A�B�&��	1�
0��E<�;�;�;�;�sj�Q1�M�,Q1�(M�3Q1�N+�Q1�	CQ�Q�N1�7N.
�8N1�?Q�AQ�#N>�$Q�)AO�1O�O�O�A:O�O�O�
Q�(P>�*P�?P�P�P>�&	Q�/Q1�;P�<Q1�A N(�$Q1�'N(�(Q1�.N1�1N;	�6	Q�O�O	�		O�P�0P�P�Q�P�Q1�"P;�;P>�>Q	�Q�
Q1�Q�Q1�Q.�"Q%�#Q.�*Q1c��	tj�S#t$r;tt	j
�xsd�}tj
|�|cYSwxYw)z�
    Return the capacity limiter that is used by default to limit the number of worker
    processes.

    :return: a capacity limiter object

    �)r#rYrZr�os�	cpu_countr[)r%s rIrr�sM���'�+�+�-�-����!�"�,�,�.�"5�A�6�� �$�$�W�-����s��AA�Ac�z�tj}tj}ttj
�t_ttj
d�t_ttj
d�t_|jjd�	dx}}	tj|j�^}}|dk(r|\}}	||�}n�|dk(r�|\t_}tjd=|r�tjj|�rd	td�}	t!j"|d��}
|	j$j'|
�|	xtjd<tjd<	|�'d}tj*|tj,�}n&d	}tj*|tj,�}|jjd
|t/|�fz�|jj|�t1|t2�r|����#t$r}|}Yd}~��d}~wwxYw#t$r}|}Yd}~��d}~wwxYw#t($rYyt$r}|}Yd}~��d}~wwxYw#t$r2}|}d}tj*|tj,�}Yd}~��d}~wwxYw)N�wrPrKrSrQ�__mp_main__)�run_namer,r+s%s %d
)rcrGrM�openr|�devnull�stderr�buffer�writer<�loadr6rkrj�isfiler	�runpy�run_path�__dict__�update�EOFErrorrWrX�lenr;�
SystemExit)
rGrMrD�	exceptionrvrnrmrCrx�main�main_contentr@rys
             rIrr�s<��
�I�I�E�
�Z�Z�F��R�Z�Z� �C�I��b�j�j�#�&�C�J��b�j�j�#�&�C�J�
�M�M���
�#�
�!�!���	(�#�[�[����6�N�G�d��%��!�
��d�$�!�4�[�F��F�"�-1�*���*��K�K�
�+�#������7G�(H�(�)�-�8��',�~�~�,�}�(���
�
�,�,�\�:�OS�S����J�/�#�+�+�m�2L�
	A��$�%�� �,�,�y�&�2I�2I�J��"�� �,�,�v�v�/F�/F�G��	�
�
���J�&�#�g�,�)?�?�@��
�
���G�$��i��,��O�a��%�$� #�I��$�� )�(�$'�	��(��3�	���	��I��	��@�	A��I�!�F��l�l�3��(?�(?�@�G��	A�sh�*!I�H-�"A#I�AI?�-	I�6H=�=I�	I�I�I�	I<�(I<�0I7�7I<�?	J:�(J5�5J:rQ)
rmz&Callable[[Unpack[PosArgsT]], T_Retval]rnzUnpack[PosArgsT]r$�boolr%zCapacityLimiter | NonerUr)rUr)rU�None)6�
__future__r�__all__r|r<r�rfrc�collectionsr�collections.abcr�typesr	�typingr
r�_core._eventloopr
rr�_core._exceptionsr�_core._subprocessesr�_core._synchronizationr�_core._tasksrr�abcrrr�lowlevelrr�streams.bufferedr�version_inforr�typing_extensionsr_rr r!�__annotations__r"r#rrrre��rI�<module>r�s ��"���
�
���
��$�� �V�V�2�-�3�1�;�;�5�7����w��+�+�6����:����
�#��.4�5L�.M��+�M�CI� �D��@��5;�;U�4V��1�V��&*�	OC�
0�OC��OC��OC�$�	OC�
�OC�d
� :�z�z����r�