B H8͋@sddlZejdkredddlZddlZddlZddlZddlZddlZddl Z dZ dZ ej Z ej Z eZdde dd d ZGd d d ZGd ddejZdS)Nwin32z win32 only)pipePopenPIPE PipeHandlei F)TT)duplex overlappedbufsizec Cs"tjdtttd}|r>tj}tj tj B}||}}ntj }tj }d|}}|tj O}|drp|tj O}|drtj }nd}d} } yZt||tjd||tjtj} t||dtjtj|tj} tj| dd} | d| | fS| dk rt| | dk rt| YnXdS)Nz\\.\pipe\python-pipe-{:d}-{:d}-)prefixrT)r)tempfileZmktempformatosgetpidnext _mmap_counter_winapiZPIPE_ACCESS_DUPLEXZ GENERIC_READZ GENERIC_WRITEZPIPE_ACCESS_INBOUNDZFILE_FLAG_FIRST_PIPE_INSTANCEZFILE_FLAG_OVERLAPPEDZCreateNamedPipeZ PIPE_WAITZNMPWAIT_WAIT_FOREVERZNULLZ CreateFileZ OPEN_EXISTINGZConnectNamedPipeZGetOverlappedResult CloseHandle) rrr ZaddressZopenmodeaccessZobsizeZibsizeZflags_and_attribsZh1Zh2Zovr8/opt/alt/python37/lib/python3.7/asyncio/windows_utils.pyr sB           rc@sXeZdZddZddZeddZddZej d d d Z d d Z ddZ ddZ dS)rcCs ||_dS)N)_handle)selfhandlerrr__init__VszPipeHandle.__init__cCs2|jdk rd|j}nd}d|jjd|dS)Nzhandle=closed< >)r __class____name__)rrrrr__repr__Ys zPipeHandle.__repr__cCs|jS)N)r)rrrrr`szPipeHandle.handlecCs|jdkrtd|jS)NzI/O operation on closed pipe)r ValueError)rrrrfilenods zPipeHandle.fileno)rcCs|jdk r||jd|_dS)N)r)rrrrrcloseis  zPipeHandle.closecCs,|jdk r(tjd|t|d|dS)Nz unclosed )source)rwarningswarnResourceWarningr$)rrrr__del__ns zPipeHandle.__del__cCs|S)Nr)rrrr __enter__tszPipeHandle.__enter__cCs |dS)N)r$)rtvtbrrr__exit__wszPipeHandle.__exit__N)r __module__ __qualname__rr!propertyrr#rrr$r)r*r.rrrrrQs rcseZdZdfdd ZZS)rNc s|d}}}d} } } |tkr@tddd\} } t| tj}n|}|tkrhtdd\} } t| d}n|}|tkrtdd\} }t|d}n|tkr|}n|}zy tj|f|||d|Wn4x$| | | fD]}|dk rt |qWYn>X| dk rt | |_ | dk r"t | |_ | dk r6t | |_Wd|tkrNt||tkrbt||tkrvt|XdS)N)FTT)rr)TF)rr)stdinstdoutstderr)rrmsvcrtZopen_osfhandlerO_RDONLYSTDOUTsuperrrrrr2r3r4r$)rargsr2r3r4kwdsZ stdin_rfdZ stdout_wfdZ stderr_wfdZstdin_whZ stdout_rhZ stderr_rhZstdin_rhZ stdout_whZ stderr_whh)rrrrsH            zPopen.__init__)NNN)r r/r0r __classcell__rr)rrr~sr)sysplatform ImportErrorr itertoolsr5r subprocessr r&__all__ZBUFSIZErr7countrrrrrrrrs" 1-