Lines Matching refs:aiocbp

27 void read_func(struct aiocb *aiocbp) {  in read_func()  argument
28 aiocbp->ret = TEMP_FAILURE_RETRY(pread(aiocbp->aio_fildes, in read_func()
29 aiocbp->aio_buf, aiocbp->aio_nbytes, aiocbp->aio_offset)); in read_func()
30 if (aiocbp->ret == -1) aiocbp->error = errno; in read_func()
33 void write_func(struct aiocb *aiocbp) { in write_func() argument
34 aiocbp->ret = TEMP_FAILURE_RETRY(pwrite(aiocbp->aio_fildes, in write_func()
35 aiocbp->aio_buf, aiocbp->aio_nbytes, aiocbp->aio_offset)); in write_func()
36 if (aiocbp->ret == -1) aiocbp->error = errno; in write_func()
39 void splice_read_func(struct aiocb *aiocbp) { in splice_read_func() argument
40 loff_t long_offset = aiocbp->aio_offset; in splice_read_func()
41 aiocbp->ret = TEMP_FAILURE_RETRY(splice(aiocbp->aio_fildes, in splice_read_func()
42 &long_offset, aiocbp->aio_sink, in splice_read_func()
43 NULL, aiocbp->aio_nbytes, 0)); in splice_read_func()
44 if (aiocbp->ret == -1) aiocbp->error = errno; in splice_read_func()
47 void splice_write_func(struct aiocb *aiocbp) { in splice_write_func() argument
48 loff_t long_offset = aiocbp->aio_offset; in splice_write_func()
49 aiocbp->ret = TEMP_FAILURE_RETRY(splice(aiocbp->aio_fildes, NULL, in splice_write_func()
50 aiocbp->aio_sink, &long_offset, in splice_write_func()
51 aiocbp->aio_nbytes, 0)); in splice_write_func()
52 if (aiocbp->ret == -1) aiocbp->error = errno; in splice_write_func()
67 std::unique_ptr<struct aiocb> aiocbp = std::move(queue.front()); in splice_write_pool_func() local
71 splice_write_func(aiocbp.get()); in splice_write_pool_func()
72 close(aiocbp->aio_fildes); in splice_write_pool_func()
83 std::unique_ptr<struct aiocb> aiocbp = std::move(queue.front()); in write_pool_func() local
87 aiocbp->ret = TEMP_FAILURE_RETRY(pwrite(aiocbp->aio_fildes, in write_pool_func()
88 aiocbp->aio_pool_buf.get(), aiocbp->aio_nbytes, aiocbp->aio_offset)); in write_pool_func()
89 if (aiocbp->ret == -1) aiocbp->error = errno; in write_pool_func()
133 int aio_pool_write(struct aiocb *aiocbp) { in aio_pool_write() argument
136 queue.push(std::unique_ptr<struct aiocb>(aiocbp)); in aio_pool_write()
142 int aio_read(struct aiocb *aiocbp) { in aio_read() argument
143 aiocbp->thread = std::thread(read_func, aiocbp); in aio_read()
147 int aio_write(struct aiocb *aiocbp) { in aio_write() argument
148 aiocbp->thread = std::thread(write_func, aiocbp); in aio_write()
152 int aio_splice_read(struct aiocb *aiocbp) { in aio_splice_read() argument
153 aiocbp->thread = std::thread(splice_read_func, aiocbp); in aio_splice_read()
157 int aio_splice_write(struct aiocb *aiocbp) { in aio_splice_write() argument
158 aiocbp->thread = std::thread(splice_write_func, aiocbp); in aio_splice_write()
162 int aio_error(const struct aiocb *aiocbp) { in aio_error() argument
163 return aiocbp->error; in aio_error()
166 ssize_t aio_return(struct aiocb *aiocbp) { in aio_return() argument
167 return aiocbp->ret; in aio_return()
170 int aio_suspend(struct aiocb *aiocbp[], int n, in aio_suspend() argument
173 aiocbp[i]->thread.join(); in aio_suspend()