summaryrefslogtreecommitdiff
path: root/man/io_uring_wait_cqe_timeout.3
blob: e81018a38650f2e1c39b82e6cb40338aacfd6a9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
.\" Copyright (C) 2021 Stefan Roesch <shr@fb.com>
.\"
.\" SPDX-License-Identifier: LGPL-2.0-or-later
.\"
.TH io_uring_wait_cqe_timeout 3 "November 15, 2021" "liburing-2.1" "liburing Manual"
.SH NAME
io_uring_wait_cqe_timeout - wait for one io_uring completion event with timeout
.SH SYNOPSIS
.nf
.BR "#include <liburing.h>"
.PP
.BI "int io_uring_wait_cqe_timeout(struct io_uring *" ring ","
.BI "                              struct io_uring_cqe **" cqe_ptr ","
.BI "                              struct __kernel_timespec *" ts ");"
.PP
.SH DESCRIPTION
.PP
The io_uring_wait_cqe_timeout() function returns one IO completion from the
queue belonging to the
.I ring
param, waiting for it if necessary or until the timeout
.I ts
expires.

The
.I cqe_ptr
param is filled in on success.

If
.I ts
is specified and an older kernel without
.B IORING_FEAT_EXT_ARG
is used, the application does not need to call
.BR io_uring_submit (3)
before calling
.BR io_uring_wait_cqes (3).
For newer kernels with that feature flag set, there is no implied submit
when waiting for a request.

.SH RETURN VALUE
On success
.BR io_uring_wait_cqes (3)
returns 0 and the cqe_ptr parm is filled in. On failure it returns -errno.
.SH SEE ALSO
.BR io_uring_submit (3),  io_uring_wait_cqe_timeout (3), io_uring_wait_cqe(3).