/g d dl Z e j dk r ed d dlZd dlZd dlZd dlZd dlZd dlZd dl Z dZ
dZej Zej
Z
ej Zddedd Z G d
d Z G d d
ej ZdS ) Nwin32z
win32 only)pipePopenPIPE
PipeHandlei F)TT)duplex
overlappedbufsizec
T t j d t j t t }| r*t j }t j t j
z }||}}nt j }t j
}d|}}|t j z }|d r|t j
z }|d r
t j
}nd}d x} }
t j ||t j d||t j t j } t j ||dt j t j |t j }
t j | d }| d | |
fS # | t j | |
t j |
xY w)Nz\\.\pipe\python-pipe-{:d}-{:d}-)prefixr Tr )tempfilemktempformatosgetpidnext
_mmap_counter_winapiPIPE_ACCESS_DUPLEXGENERIC_READ
GENERIC_WRITEPIPE_ACCESS_INBOUNDFILE_FLAG_FIRST_PIPE_INSTANCEFILE_FLAG_OVERLAPPEDCreateNamedPipe PIPE_WAITNMPWAIT_WAIT_FOREVERNULL
CreateFile
OPEN_EXISTINGConnectNamedPipeGetOverlappedResultCloseHandle)r r r
addressopenmodeaccessobsizeibsizeflags_and_attribsh1h2ovs