NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |ERRORS |NOTES |SEE ALSO |COLOPHON | |
io_uring_pr...eout_update(3) liburing Manualio_uring_pr...eout_update(3)io_uring_prep_timeout_update - prepare a request to update an existing timeout
#include <liburing.h>void io_uring_prep_timeout_update(struct io_uring_sqe *sqe,struct __kernel_timespec *ts,__u64user_data,unsignedflags);void io_uring_prep_timeout_remove(struct io_uring_sqe *sqe,__u64user_data,unsignedflags);
These functions modify or cancel an existing timeout request. The submission queue entrysqe is setup to arm a timeout update or removal specified byuser_data and with modifier flags given byflags. Additionally, the update request includes ats structure, which contains new timeout information. For an update request, theflags member may contain a bitmask of the following values:IORING_TIMEOUT_ABS The value specified ints is an absolute value rather than a relative one.IORING_TIMEOUT_BOOTTIME The boottime clock source should be used.IORING_TIMEOUT_REALTIME The realtime clock source should be used.IORING_TIMEOUT_ETIME_SUCCESS Consider an expired timeout a success in terms of the posted completion. Normally a timeout that triggers would return in a-ETIMECQEres value. The timeout remove command does not currently accept any flags.
None
These are the errors that are reported in the CQEres field. On success,0is returned.-ENOENT The timeout identified byuser_data could not be found. It may be invalid, or triggered before the update or removal request was processed.-EALREADY The timeout identified byuser_data is already firing and cannot be canceled.-EINVAL One of the fields set in the SQE was invalid. For example, two clocksources were given, or the specified timeout seconds or nanoseconds were < 0.-EFAULT io_uring was unable to access the data specified byts.
As with any request that passes in data in a struct, that data must remain valid until the request has been successfully submitted. It need not remain valid until completion. Once a request has been submitted, the in-kernel state is stable. Very early kernels (5.4 and earlier) required state to be stable until the completion occurred. Applications can test for this behavior by inspecting theIORING_FEAT_SUBMIT_STABLEflag passed back fromio_uring_queue_init_params(3).
io_uring_get_sqe(3),io_uring_submit(3),io_uring_prep_timeout(3)
This page is part of theliburing (A library for io_uring) project. Information about the project can be found at ⟨https://github.com/axboe/liburing⟩. If you have a bug report for this manual page, send it to io-uring@vger.kernel.org. This page was obtained from the project's upstream Git repository ⟨https://github.com/axboe/liburing⟩ on 2025-08-11. (At that time, the date of the most recent commit that was found in the repository was 2025-08-02.) If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up-to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which isnot part of the original manual page), send a mail to man-pages@man7.orgliburing-2.2 March 12, 2022io_uring_pr...eout_update(3)Pages that refer to this page:io_uring_prep_timeout(3)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |