a
XC?h @ s d dl Z e jdkredd dlZd dlZd dlZd dlZd dlZd dlZd dl Z dZ
dZejZej
Z
e Zddedd d
ZG dd dZG d
d dejZdS ) NZwin32z
win32 only)pipePopenPIPE
PipeHandlei F)TT)duplex
overlappedbufsizec
C s$ t jdt ttd}| r>tj}tj tj
B }|| }}ntj}tj
}d| }}|tjO }|d rp|tj
O }|d rtj
}nd}d } }
z\t||tjd||tjtj} t||dtjtj|tj}
tj| dd}|d | |
fW S | d urt| |
d urt|
Y n0 d S )Nz\\.\pipe\python-pipe-{:d}-{:d}-)prefixr Tr )tempfileZmktempformatosgetpidnext
_mmap_counter_winapiZPIPE_ACCESS_DUPLEXZGENERIC_READZ
GENERIC_WRITEZPIPE_ACCESS_INBOUNDZFILE_FLAG_FIRST_PIPE_INSTANCEZFILE_FLAG_OVERLAPPEDZCreateNamedPipeZ PIPE_WAITZNMPWAIT_WAIT_FOREVERZNULLZ
CreateFileZ
OPEN_EXISTINGZConnectNamedPipeZGetOverlappedResultCloseHandle)r r r ZaddressZopenmodeaccessZobsizeZibsizeZflags_and_attribsZh1Zh2Zov r :/opt/alt/python39/lib64/python3.9/asyncio/windows_utils.pyr sJ
r c @ s^ e Zd Zdd Zdd Zedd Zdd Zej d d
dZ
ejfdd
Z
dd Zdd ZdS )r c C s
|| _ d S N_handleselfhandler r r __init__V s zPipeHandle.__init__c C s2 | j d urd| j }nd}d| jj d| dS )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 u rtd| j S )NzI/O operation on closed pipe)r
ValueErrorr% r r r filenod s
zPipeHandle.fileno)r c C s | j d ur|| j d | _ d S r r )r r r r r closei s
zPipeHandle.closec C s* | j d ur&|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 tvtbr r r __exit__v s zPipeHandle.__exit__N)r#
__module____qualname__r r$ propertyr r' r r r( warningswarnr+ r, r0 r r r r r Q s
r c s e Zd Zd fdd Z ZS )r Nc s d } }}d } }
}|t kr@tddd\}} t|tj}n|}|t krhtdd\}
}
t|
d}n|}|t krtdd\}}t|d}n|tkr|}n|}zz t j|f|||d| W n0 | |
|fD ]}|d urt
| qւ Y n>0 | d ur
t| | _|
d urt|
| _
|d ur2t|| _W |t krHt| |t kr\t| |t krt| n>|t krt| |t krt| |t krt| 0 d S )N)FTT)r r )TFr r )stdinstdoutstderr)r r msvcrtZopen_osfhandler O_RDONLYSTDOUTsuperr r r r r6 r7 r8 r( )r argsr6 r7 r8 kwdsZ stdin_rfdZ
stdout_wfdZ
stderr_wfdZstdin_whZ stdout_rhZ stderr_rhZstdin_rhZ stdout_whZ stderr_whhr" r r r sZ
zPopen.__init__)NNN)r# r1 r2 r
__classcell__r r r@ r r } s r )sysplatformImportErrorr itertoolsr9 r
subprocessr r4 __all__ZBUFSIZEr r; countr r r r r r r r