.\" Copyright (C) 2021 Stefan Roesch .\" .\" SPDX-License-Identifier: LGPL-2.0-or-later .\" .TH io_uring_submit_and_wait_timeout 3 "November 15, 2021" "liburing-2.1" "liburing Manual" .SH NAME io_uring_submit_and_wait_timeout \- submit requests to the submission queue and wait for the completion with timeout .SH SYNOPSIS .nf .B #include .PP .BI "int io_uring_submit_and_wait_timeout(struct io_uring *" ring "," .BI " struct io_uring_cqe **" cqe_ptr "," .BI " unsigned " wait_nr "," .BI " struct __kernel_timespec *" ts "," .BI " sigset_t *" sigmask ");" .fi .SH DESCRIPTION .PP The .BR io_uring_submit_and_wait_timeout (3) function submits the next requests from the submission queue belonging to the .I ring and waits for .I wait_nr completion events, or until the timeout .I ts expires. The completion events are stored in the .I cqe_ptr array. The .I sigmask specifies the set of signals to block. The prevailing signal mask is restored before returning. After the caller retrieves a submission queue entry (SQE) with .BR io_uring_get_sqe (3) and prepares the SQE, it can be submitted with .BR io_uring_submit_and_wait_timeout (3) . .SH RETURN VALUE On success .BR io_uring_submit_and_wait_timeout (3) returns the number of submitted submission queue entries. On failure it returns .BR -errno . Note that in earlier versions of the liburing library, the return value was 0 on success. The most common failure case is not receiving a completion within the specified timeout, .B -ETIME is returned in this case. .SH SEE ALSO .BR io_uring_get_sqe (3), .BR io_uring_submit (3), .BR io_uring_submit_and_wait (3), .BR io_uring_wait_cqe (3)