def _read_loop(self): f = FileObjectPosix(self._master_pipe[0], 'r', 0) while True: try: data = f.read(2) size = struct.unpack('>h', data)[0] data = f.read(size) cmd, data = utils.unpack_message(data) except: # master is dead probably self._alive = False break
def _writer(): stdout = FileObjectPosix(read_fd, 'rb', bufsize=0, close=True) while True: data = stdout.read(buffer_size) if len(data) == 0: return sock.write(data)