示例#1
0
    def PipeClient(address):
        '''
        Return a connection object connected to the pipe given by `address`
        '''
        t = _init_timeout()
        while 1:
            try:
                win32.WaitNamedPipe(address, 1000)
                h = win32.CreateFile(address,
                                     win32.GENERIC_READ | win32.GENERIC_WRITE,
                                     0, win32.NULL, win32.OPEN_EXISTING, 0,
                                     win32.NULL)
            except WindowsError as e:
                if e.args[0] not in (
                        win32.ERROR_SEM_TIMEOUT,
                        win32.ERROR_PIPE_BUSY) or _check_timeout(t):
                    raise
            else:
                break
        else:
            raise

        win32.SetNamedPipeHandleState(h, win32.PIPE_READMODE_MESSAGE, None,
                                      None)
        return _multiprocessing.PipeConnection(h)
示例#2
0
 def PipeClient(address):
     '''
     Return a connection object connected to the pipe given by `address`
     '''
     t = _init_timeout()
     while 1:
         try:
             win32.WaitNamedPipe(address, 1000)
             h = win32.CreateFile(
                 address, win32.GENERIC_READ | win32.GENERIC_WRITE,
                 0, win32.NULL, win32.OPEN_EXISTING, 0, win32.NULL
                 )
         except WindowsError, e:
             if e.args[0] not in (win32.ERROR_SEM_TIMEOUT,
                                  win32.ERROR_PIPE_BUSY) or _check_timeout(t):
                 raise
         else:
             break