a
´iÄ ã @ 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 )é NÚwin32z
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 u�rt | ¡ |
d u�rt |
¡ ‚ Y n0 d S )Nz\\.\pipe\python-pipe-{:d}-{:d}-)Úprefixr é T©r )ÚtempfileÚmktempÚ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 ÚaddressZopenmodeÚaccessZobsizeZibsizeZflags_and_attribsZh1Zh2Zov© r ú-/usr/lib64/python3.9/asyncio/windows_utils.pyr sJ ÿÿ
þþ
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 urd| 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 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 Ú_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&