%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python3.12/asyncio/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib/python3.12/asyncio/__pycache__/base_subprocess.cpython-312.pyc

�

���f�"���ddlZddlZddlZddlmZddlmZddlmZGd�dej�Z	Gd�d	ej�ZGd
�deej�Z
y)�N�)�	protocols)�
transports)�loggerc���eZdZ	d�fd�	Zd�Zd�Zd�Zd�Zd�Zd�Z	e
jfd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z�xZS)�BaseSubprocessTransportc
�n��t�
|�|
�d|_||_||_d|_d|_d|_g|_tj�|_i|_d|_
|tjk(rd|jd<|tjk(rd|jd<|tjk(rd|jd<	|j d||||||d�|��|j
j$|_|j
|j&d<|jj)�r?t+|t,t.f�r|}n|d}t1j2d||j�|jj5|j7|	��y#|j#��xYw)	NFrr�)�args�shell�stdin�stdout�stderr�bufsize�
subprocesszprocess %r created: pid %s�)�super�__init__�_closed�	_protocol�_loop�_proc�_pid�_returncode�
_exit_waiters�collections�deque�_pending_calls�_pipes�	_finishedr�PIPE�_start�close�pid�_extra�	get_debug�
isinstance�bytes�strr�debug�create_task�_connect_pipes)�self�loop�protocolrrr
rrr�waiter�extra�kwargs�program�	__class__s             ��./usr/lib/python3.12/asyncio/base_subprocess.pyrz BaseSubprocessTransport.__init__sx���	��������!�����
���
���	�������)�/�/�1����������J�O�O�#�!�D�K�K��N��Z�_�_�$�!�D�K�K��N��Z�_�_�$�!�D�K�K��N�	��D�K�K�
B�T��e�F�%�w�
B�:@�
B��J�J�N�N��	�$(�J�J����L�!��:�:���!��$����-����q�'���L�L�5� �$�)�)�
-�	
�
�
���t�2�2�6�:�;��	��J�J�L��s�F!�!F4c�^�|jjg}|jr|jd�|j�|jd|j���|j
�|jd|j
���n/|j�|jd�n|jd�|jjd�}|�|jd|j���|jjd�}|jjd	�}|�#||ur|jd
|j���n@|�|jd|j���|�|jd|j���d
jdj|��S)N�closedzpid=zreturncode=�runningznot startedrzstdin=rr
zstdout=stderr=zstdout=zstderr=z<{}>� )r4�__name__r�appendrrr�get�pipe�format�join)r-�infor
rrs     r5�__repr__z BaseSubprocessTransport.__repr__7sX�����'�'�(���<�<��K�K��!��9�9� ��K�K�$�t�y�y�k�*�+����'��K�K�+�d�&6�&6�%7�8�9�
�Y�Y�
"��K�K�	�"��K�K�
�&�������"�����K�K�&�����-�.�������#��������#����&�F�"2��K�K�.����
�6�7��!����g�f�k�k�]�3�4��!����g�f�k�k�]�3�4��}�}�S�X�X�d�^�,�,�c��t��N)�NotImplementedError)r-rrr
rrrr2s        r5r"zBaseSubprocessTransport._startTs��!�!rBc��||_yrD�r)r-r/s  r5�set_protocolz$BaseSubprocessTransport.set_protocolWs	��!��rBc��|jSrDrG�r-s r5�get_protocolz$BaseSubprocessTransport.get_protocolZs���~�~�rBc��|jSrD)rrJs r5�
is_closingz"BaseSubprocessTransport.is_closing]s���|�|�rBc���|jryd|_|jj�D]}|��|jj	��!|j
�t|j�g|j
j��L|jj�rtjd|�	|j
j�yyyy#t$rYywxYw)NTz$Close running child process: kill %r)rr�valuesr=r#rr�pollrr&r�warning�kill�ProcessLookupError)r-�protos  r5r#zBaseSubprocessTransport.close`s����<�<������[�[�'�'�)�	�E��}���J�J����	�

�J�J�"�� � �(��
�
���!�)��z�z�#�#�%����E�t�L�
��
�
���!�
*�)�
#��&�
��
�s�4C�	C�Cc�b�|js#|d|��t|��|j�yy)Nzunclosed transport )�source)r�ResourceWarningr#)r-�_warns  r5�__del__zBaseSubprocessTransport.__del__{s+���|�|��'��x�0�/�$�O��J�J�L�rBc��|jSrD)rrJs r5�get_pidzBaseSubprocessTransport.get_pid�s���y�y�rBc��|jSrD)rrJs r5�get_returncodez&BaseSubprocessTransport.get_returncode�s�����rBc�R�||jvr|j|jSyrD)rr=)r-�fds  r5�get_pipe_transportz*BaseSubprocessTransport.get_pipe_transport�s%��
������;�;�r�?�'�'�'�rBc�0�|j�
t��yrD)rrSrJs r5�_check_procz#BaseSubprocessTransport._check_proc�s���:�:��$�&�&�rBc�Z�|j�|jj|�yrD)rbr�send_signal)r-�signals  r5rdz#BaseSubprocessTransport.send_signal�s �������
�
���v�&rBc�X�|j�|jj�yrD)rbr�	terminaterJs r5rgz!BaseSubprocessTransport.terminate�s�������
�
���rBc�X�|j�|jj�yrD)rbrrRrJs r5rRzBaseSubprocessTransport.kill�s�������
�
���rBc���K�	�j}�j}|j�9|j�fd�|j��d{���\}}|�jd<|j
�9|j
�fd�|j
��d{���\}}|�jd<|j�9|j
�fd�|j��d{���\}}|�jd<�j�J�|j�jj���jD]\}}|j|g|����d�_|�#|j�s|jd�yyy7��)7��7��#ttf$r�t $r7}|�+|j�s|j#|�Yd}~yYd}~yYd}~yd}~wwxYw�w)Nc���t�d�S)Nr)�WriteSubprocessPipeProtorJs�r5�<lambda>z8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>�s���4�T�1�=�rBrc���t�d�S)Nr��ReadSubprocessPipeProtorJs�r5rlz8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>�����3�D�!�<�rBrc���t�d�S)Nr
rnrJs�r5rlz8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>�rprBr
)rrr
�connect_write_piperr�connect_read_piperr�	call_soonr�connection_made�	cancelled�
set_result�
SystemExit�KeyboardInterrupt�
BaseException�
set_exception)	r-r0�procr.�_r=�callback�data�excs	`        r5r,z&BaseSubprocessTransport._connect_pipes�s������#	(��:�:�D��:�:�D��z�z�%� $� 7� 7�=��J�J�! � ���4�"&����A���{�{�&� $� 6� 6�<��K�K�!!�!���4�"&����A���{�{�&� $� 6� 6�<��K�K�!!�!���4�"&����A���&�&�2�2�2��N�N�4�>�>�9�9�4�@�"&�"5�"5�
0���$�����x�/�$�/�
0�"&�D���!�&�*:�*:�*<��!�!�$�'�+=�!�; ��!��!���-�.�	���	*��!�&�*:�*:�*<��$�$�S�)�)�+=�!��	*�sh�G
�AE;�E4�AE;�E7�AE;�E9�A8E;�&G
�4E;�7E;�9E;�;G
�#G�6G
�G
�
G
c��|j�|jj||f�y|jj|g|���yrD)rr;rrt)r-�cbrs   r5�_callzBaseSubprocessTransport._call�s?�����*����&�&��D�z�2� �D�J�J� � ��+�d�+rBc�r�|j|jj||�|j�yrD)r�r�pipe_connection_lost�_try_finish)r-r_r�s   r5�_pipe_connection_lostz-BaseSubprocessTransport._pipe_connection_lost�s(���
�
�4�>�>�6�6��C�@����rBc�R�|j|jj||�yrD)r�r�pipe_data_received)r-r_rs   r5�_pipe_data_receivedz+BaseSubprocessTransport._pipe_data_received�s���
�
�4�>�>�4�4�b�$�?rBc�x�|�J|��|j�J|j��|jj�rtjd||�||_|j
j�||j
_|j|jj�|j�y)Nz%r exited with return code %r)rrr&rr@r�
returncoder�r�process_exitedr�)r-r�s  r5�_process_exitedz'BaseSubprocessTransport._process_exited�s����%�1�z�1�%����'�9��)9�)9�9�'��:�:���!��K�K�7��z�J�%����:�:� � �(�%/�D�J�J�!��
�
�4�>�>�0�0�1����rBc��K�|j�|jS|jj�}|jj	|�|�d{���S7��w)zdWait until the process exit and return the process return code.

        This method is a coroutine.N)rr�
create_futurerr;)r-r0s  r5�_waitzBaseSubprocessTransport._wait�sP�������'��#�#�#����)�)�+�����!�!�&�)��|��|�s�AA�A�Ac���|jrJ�|j�ytd�|jj	�D��r$d|_|j|jd�yy)Nc3�@K�|]}|duxr|j���y�wrD)�disconnected)�.0�ps  r5�	<genexpr>z6BaseSubprocessTransport._try_finish.<locals>.<genexpr>�s(����.����}�/����/�.�s�T)r r�allrrOr��_call_connection_lostrJs r5r�z#BaseSubprocessTransport._try_finish�s`���>�>�!�!����#���.����*�*�,�.�.�!�D�N��J�J�t�1�1�4�8�.rBc��	|jj|�|jD].}|j�r�|j	|j
��0d|_d|_d|_d|_y#|jD].}|j�r�|j	|j
��0d|_d|_d|_d|_wxYwrD)r�connection_lostrrvrwrrr)r-r�r0s   r5r�z-BaseSubprocessTransport._call_connection_lost�s���
	"��N�N�*�*�3�/��,�,�
8���'�'�)��%�%�d�&6�&6�7�
8�"&�D���D�J��D�J�!�D�N��
�,�,�
8���'�'�)��%�%�d�&6�&6�7�
8�"&�D���D�J��D�J�!�D�N�s�A7�7 C�:C)NN)r:�
__module__�__qualname__rrAr"rHrKrMr#�warnings�warnrYr[r]r`rbrdrgrRr,r�r�r�r�r�r�r��
__classcell__)r4s@r5rr
s����%)�)<�V-�:"�"����6%�M�M��
� ��'�'���$(�L,��@��	�9�"rBrc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)rkc�<�||_||_d|_d|_y)NF)r|r_r=r�)r-r|r_s   r5rz!WriteSubprocessPipeProto.__init__s����	������	�!��rBc��||_yrD)r=)r-�	transports  r5ruz(WriteSubprocessPipeProto.connection_mades	����	rBc�j�d|jj�d|j�d|j�d�S)N�<z fd=z pipe=�>)r4r:r_r=rJs r5rAz!WriteSubprocessPipeProto.__repr__
s0���4�>�>�*�*�+�4����y��t�y�y�m�1�M�MrBc�l�d|_|jj|j|�d|_y)NT)r�r|r�r_)r-r�s  r5r�z(WriteSubprocessPipeProto.connection_lost
s)�� ����	�	�'�'�����5���	rBc�L�|jjj�yrD)r|r�
pause_writingrJs r5r�z&WriteSubprocessPipeProto.pause_writings���	�	���)�)�+rBc�L�|jjj�yrD)r|r�resume_writingrJs r5r�z'WriteSubprocessPipeProto.resume_writings���	�	���*�*�,rBN)	r:r�r�rrurAr�r�r�rrBr5rkrk�s!��"��N��
,�-rBrkc��eZdZd�Zy)roc�P�|jj|j|�yrD)r|r�r_)r-rs  r5�
data_receivedz%ReadSubprocessPipeProto.data_receiveds���	�	�%�%�d�g�g�t�4rBN)r:r�r�r�rrBr5roros��5rBro)rrr��rr�logr�SubprocessTransportr�BaseProtocolrk�ProtocolrorrBr5�<module>r�sT��������r"�j�<�<�r"�j-�y�5�5�-�45�6�'�0�0�5rB

Zerion Mini Shell 1.0