Edit File: base_subprocess.cpython-38.opt-2.pyc
U ����@��d�"����������������������@���sx���d�dl�Z�d�dlZd�dlZddlmZ�ddlmZ�ddlmZ�G�dd��dej�Z G�dd ��d ej �ZG�d d��deej�Z dS�)�����N����)� protocols)� transports)�loggerc�����������������������s����e�Zd�Zd0��fdd� Zdd��Zdd��Zdd ��Zd d��Zdd ��Zdd��Z e jfdd�Zdd��Z dd��Zdd��Zdd��Zdd��Zdd��Zdd��Zd d!��Zd"d#��Zd$d%��Zd&d'��Zd(d)��Zd*d+��Zd,d-��Zd.d/��Z���ZS�)1�BaseSubprocessTransportNc����������� ��� ������s&��t����| ��d|�_||�_||�_d�|�_d�|�_d�|�_g�|�_t � ��|�_i�|�_d|�_ |tjkr`d�|�jd<�|tjkrtd�|�jd<�|tjkr�d�|�jd<�z"|�jf�||||||d�|���W�n���|�������Y�nX�|�jj|�_|�j|�jd<�|�j����rt|ttf�r�|}n|d�}t�d||�j��|�j�|��| ���d�S�)NFr���r�������)�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�pidZ_extra� get_debug� isinstance�bytes�strr����debugZcreate_task�_connect_pipes) �self�loop�protocolr���r ���r ���r���r���r ����waiterZextra�kwargsZprogram�� __class__���</opt/alt/python38/lib64/python3.8/asyncio/base_subprocess.pyr������sL���� ��� ��z BaseSubprocessTransport.__init__c�����������������C���s��|�j�jg}|�jr|�d��|�jd�k r6|�d|�j�����|�jd�k rT|�d|�j�����n |�jd�k rj|�d��n |�d��|�j�d�}|d�k r�|�d|j�����|�j�d�}|�j�d �}|d�k r�||kr�|�d |j�����n6|d�k r�|�d|j�����|d�k �r|�d|j�����d � d� |��S�)N�closedzpid=zreturncode=Zrunningznot startedr���zstdin=r���r���zstdout=stderr=zstdout=zstderr=z<{}>� )r-����__name__r����appendr���r���r����get�pipe�format�join)r'����infor ���r���r���r.���r.���r/����__repr__7���s,���� z BaseSubprocessTransport.__repr__c�����������������K���s���t��d�S��N)�NotImplementedError)r'���r���r ���r ���r���r���r ���r+���r.���r.���r/���r���T���s����zBaseSubprocessTransport._startc�����������������C���s ���||�_�d�S�r:����r���)r'���r)���r.���r.���r/����set_protocolW���s����z$BaseSubprocessTransport.set_protocolc�����������������C���s���|�j�S�r:���r<����r'���r.���r.���r/����get_protocolZ���s����z$BaseSubprocessTransport.get_protocolc�����������������C���s���|�j�S�r:���)r���r>���r.���r.���r/���� is_closing]���s����z"BaseSubprocessTransport.is_closingc�����������������C���s����|�j�r d�S�d|�_�|�j���D�]}|d�kr(q|j����q|�jd�k r�|�jd�kr�|�j���d�kr�|�j� ��rlt �d|���z|�j����W�n�t k r����Y�nX�d�S�)NTz$Close running child process: kill %r)r���r����valuesr5���r���r���r���Zpollr���r!���r���Zwarning�kill�ProcessLookupError)r'����protor.���r.���r/���r���`���s$���� �� zBaseSubprocessTransport.closec�����������������C���s&���|�j�s"|d|���t|�d��|�����d�S�)Nzunclosed transport )�source)r����ResourceWarningr���)r'���Z_warnr.���r.���r/����__del__{���s����zBaseSubprocessTransport.__del__c�����������������C���s���|�j�S�r:���)r���r>���r.���r.���r/����get_pid����s����zBaseSubprocessTransport.get_pidc�����������������C���s���|�j�S�r:���)r���r>���r.���r.���r/����get_returncode����s����z&BaseSubprocessTransport.get_returncodec�����������������C���s���||�j�kr|�j�|�jS�d�S�d�S�r:���)r���r5���)r'����fdr.���r.���r/����get_pipe_transport����s���� z*BaseSubprocessTransport.get_pipe_transportc�����������������C���s���|�j�d�krt���d�S�r:���)r���rC���r>���r.���r.���r/����_check_proc����s���� z#BaseSubprocessTransport._check_procc�����������������C���s���|������|�j�|��d�S�r:���)rL���r����send_signal)r'����signalr.���r.���r/���rM�������s����z#BaseSubprocessTransport.send_signalc�����������������C���s���|������|�j����d�S�r:���)rL���r���� terminater>���r.���r.���r/���rO�������s����z!BaseSubprocessTransport.terminatec�����������������C���s���|������|�j����d�S�r:���)rL���r���rB���r>���r.���r.���r/���rB�������s����zBaseSubprocessTransport.killc����������� ��� �������s`��z��j�}��j}|jd�k rB|���fdd�|j�I�d�H�\}}|��jd<�|jd�k rv|���fdd�|j�I�d�H�\}}|��jd<�|jd�k r�|���fdd�|j�I�d�H�\}}|��jd<�|���j j ������jD�]\}}|j|f|����q�d���_W�nZ�tt fk r������Y�n`�tk �r<�}�z"|d�k �r,|����s,|�|��W�5�d�}~X�Y�n X�|d�k �r\|����s\|�d���d�S�)Nc����������������������s ���t���d�S�)Nr���)�WriteSubprocessPipeProtor.���r>���r.���r/����<lambda>���������z8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>r���c����������������������s ���t���d�S�)Nr�����ReadSubprocessPipeProtor.���r>���r.���r/���rQ�������rR���r���c����������������������s ���t���d�S�)Nr���rS���r.���r>���r.���r/���rQ�������rR���r���)r���r���r ���Zconnect_write_piper���r���Zconnect_read_piper���� call_soonr����connection_mader���� SystemExit�KeyboardInterrupt� BaseException� cancelledZ set_exception� set_result) r'���r*����procr(����_r5����callback�data�excr.���r>���r/���r&�������s@���� � � � z&BaseSubprocessTransport._connect_pipesc�����������������G���s2���|�j�d�k r|�j��||f��n|�jj|f|����d�S�r:���)r���r3���r���rU���)r'����cbr_���r.���r.���r/����_call����s���� zBaseSubprocessTransport._callc�����������������C���s���|���|�jj||��|�����d�S�r:���)rb���r���Zpipe_connection_lost�_try_finish)r'���rJ���r`���r.���r.���r/����_pipe_connection_lost����s����z-BaseSubprocessTransport._pipe_connection_lostc�����������������C���s���|���|�jj||��d�S�r:���)rb���r���Zpipe_data_received)r'���rJ���r_���r.���r.���r/����_pipe_data_received����s����z+BaseSubprocessTransport._pipe_data_receivedc�����������������C���sp���|�j����rt�d|�|��||�_|�jjd�kr2||�j_|��|�jj ��|�� ���|�jD�]}|���sN|� |��qNd�|�_d�S�)Nz%r exited with return code %r)r���r!���r���r8���r���r���� returncoderb���r���Zprocess_exitedrc���r���rZ���r[���)r'���rf���r*���r.���r.���r/����_process_exited����s���� z'BaseSubprocessTransport._process_exitedc���������������������s0���|�j�d�k r|�j�S�|�j���}|�j�|��|I�d�H�S�r:���)r���r���Z create_futurer���r3���)r'���r*���r.���r.���r/����_wait����s ���� zBaseSubprocessTransport._waitc�����������������C���s>���|�j�d�krd�S�tdd��|�j���D���r:d|�_|��|�jd���d�S�)Nc�����������������s���s���|�]}|d�k o|j�V��qd�S�r:���)�disconnected)�.0�pr.���r.���r/���� <genexpr>����s����z6BaseSubprocessTransport._try_finish.<locals>.<genexpr>T)r����allr���rA���r���rb����_call_connection_lostr>���r.���r.���r/���rc�������s���� �z#BaseSubprocessTransport._try_finishc�����������������C���s*���z|�j�|��W�5�d�|�_�d�|�_d�|�_X�d�S�r:���)r���r���r����connection_lost�r'���r`���r.���r.���r/���rn�������s ����z-BaseSubprocessTransport._call_connection_lost)NN)r2���� __module__�__qualname__r���r9���r���r=���r?���r@���r����warnings�warnrG���rH���rI���rK���rL���rM���rO���rB���r&���rb���rd���re���rg���rh���rc���rn���� __classcell__r.���r.���r,���r/���r��� ���s2�������+& r���c�������������������@���s<���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd S�)rP���c�����������������C���s���||�_�||�_d�|�_d|�_d�S�)NF)r\���rJ���r5���ri���)r'���r\���rJ���r.���r.���r/���r�����s����z!WriteSubprocessPipeProto.__init__c�����������������C���s ���||�_�d�S�r:���)r5���)r'���Z transportr.���r.���r/���rV�����s����z(WriteSubprocessPipeProto.connection_madec�����������������C���s ���d|�j�j��d|�j��d|�j�d�S�)N�<z fd=z pipe=�>)r-���r2���rJ���r5���r>���r.���r.���r/���r9��� ��s����z!WriteSubprocessPipeProto.__repr__c�����������������C���s ���d|�_�|�j�|�j|��d�|�_d�S�)NT)ri���r\���rd���rJ���rp���r.���r.���r/���ro��� ��s����z(WriteSubprocessPipeProto.connection_lostc�����������������C���s���|�j�j����d�S�r:���)r\���r���� pause_writingr>���r.���r.���r/���rx�����s����z&WriteSubprocessPipeProto.pause_writingc�����������������C���s���|�j�j����d�S�r:���)r\���r����resume_writingr>���r.���r.���r/���ry�����s����z'WriteSubprocessPipeProto.resume_writingN) r2���rq���rr���r���rV���r9���ro���rx���ry���r.���r.���r.���r/���rP�������s���rP���c�������������������@���s���e�Zd�Zdd��ZdS�)rT���c�����������������C���s���|�j��|�j|��d�S�r:���)r\���re���rJ���)r'���r_���r.���r.���r/���� data_received��s����z%ReadSubprocessPipeProto.data_receivedN)r2���rq���rr���rz���r.���r.���r.���r/���rT�����s���rT���)r���r���rs�����r���r����logr���ZSubprocessTransportr���ZBaseProtocolrP���ZProtocolrT���r.���r.���r.���r/����<module>���s����v�