U
e5dÄ ã @ s¤ d dl Z e jdkredƒ‚d dlZd dlZd dlZd dlZd dlZd dlZd dl Z dZ
dZejZej
Z
e ¡ Zddedœd d
„ZG dd„ dƒZG d
d„ dejƒZdS )é NZwin32z
win32 only)ÚpipeÚPopenÚPIPEÚ
PipeHandlei F)TT)ÚduplexÚ
overlappedÚbufsizec
C s$ t jd t ¡ ttƒ¡d�}| r>tj}tj tj
B }|| }}ntj}tj
}d| }}|tjO }|d rp|tj
O }|d r€tj
}nd}d } }
z\t ||tjd||tjtj¡} t ||dtjtj|tj¡}
tj| dd�}| d¡ | |
fW S | d k �rt | ¡ |
d k �rt |
¡ ‚ Y nX d S )Nz\\.\pipe\python-pipe-{:d}-{:d}-)Úprefixr é T©r )ÚtempfileZmktempÚformatÚosÚgetpidÚnextÚ
_mmap_counterÚ_winapiZPIPE_ACCESS_DUPLEXZGENERIC_READZ
GENERIC_WRITEZPIPE_ACCESS_INBOUNDZFILE_FLAG_FIRST_PIPE_INSTANCEZFILE_FLAG_OVERLAPPEDZCreateNamedPipeZ PIPE_WAITZNMPWAIT_WAIT_FOREVERZNULLZ
CreateFileZ
OPEN_EXISTINGZConnectNamedPipeZGetOverlappedResultÚCloseHandle)r r r ZaddressZopenmodeÚaccessZobsizeZibsizeZflags_and_attribsZh1Zh2Zov© r ú-/usr/lib64/python3.8/asyncio/windows_utils.pyr sb ÿÿ
þ þ
r c @ s^ e Zd Zdd„ Zdd„ Zedd„ ƒZdd„ Zej d œd
d„Z
ejfdd
„Z
dd„ Zdd„ ZdS )r c C s
|| _ d S ©N©Ú_handle©ÚselfÚhandler r r Ú__init__V s zPipeHandle.__init__c C s2 | j d k rd| j ›�}nd}d| jj› d|› d�S )Nzhandle=Úclosedú<ú ú>)r Ú __class__Ú__name__r r r r Ú__repr__Y s
zPipeHandle.__repr__c C s | j S r r ©r r r r r ` s zPipeHandle.handlec C s | j d krtdƒ‚| j S )NzI/O operation on closed pipe)r Ú
ValueErrorr% r r r Úfilenod s
zPipeHandle.fileno)r c C s | j d k r|| j ƒ d | _ d S r r )r r r r r Úclosei s
zPipeHandle.closec C s* | j d k r&|d| ›�t| d� | ¡ d S )Nz unclosed )Úsource)r ÚResourceWarningr( )r Z_warnr r r Ú__del__n s
zPipeHandle.__del__c C s | S r r r% r r r Ú __enter__s s zPipeHandle.__enter__c C s | ¡ d S r )r( )r ÚtÚvÚtbr r r Ú__exit__v s zPipeHandle.__exit__N)r# Ú
__module__Ú__qualname__r r$ Úpropertyr r' r r r( ÚwarningsÚwarnr+ r, r0 r r r r r Q s
r c s e Zd Zd‡ fdd„ Z‡ ZS )r Nc sx d } }}d } }
}|t kr@tddd�\}} t |tj¡}n|}|t krhtdd�\}
}
t |
d¡}n|}|t kr�tdd�\}}t |d¡}n|tkrž|}n|}z’z tƒ j |f|||dœ|—Ž W n0 | |
|fD ]}|d k rÖt
|¡ qÖ‚ Y n>X | d k �r
t| ƒ| _
|
d k �rt|
ƒ| _|d k �r2t|ƒ| _W 5 |t k�rJt |¡ |t k�r^t |¡ |t k�rrt |¡ X d S )N)FTT)r r )TFr r )ÚstdinÚstdoutÚstderr)r r ÚmsvcrtZopen_osfhandler ÚO_RDONLYÚSTDOUTr( Úsuperr r r r r6 r7 r8 )r Úargsr6 r7 r8 ÚkwdsZ stdin_rfdZ
stdout_wfdZ
stderr_wfdZstdin_whZ stdout_rhZ stderr_rhZstdin_rhZ stdout_whZ stderr_whÚh©r" r r r ‚ sN ÿÿ
zPopen.__init__)NNN)r# r1 r2 r Ú
__classcell__r r r@ r r } s r )ÚsysÚplatformÚImportErrorr Ú itertoolsr9 r Ú
subprocessr r4 Ú__all__ZBUFSIZEr r; Úcountr r r r r r r r Ú