SPDX-License-Identifier: LGPL-2.0-or-later
#include <linux/futex.h> #include <unistd.h> #include <liburing.h>"void io_uring_prep_futex_wake(struct io_uring_sqe *" sqe "," " uint32_t *" futex "," " uint64_t " val "," " uint64_t " mask "," " uint32_t " futex_flags "," " unsigned int " flags ");"
The io_uring_prep_futex_wake (3) function prepares a futex wake request. The submission queue entry sqe is setup for waking any waiters on the futex indicated by futex and at most val futexes. futex_flags indicates the futex2 (2) modifier flags, and io_uring futex flags of flags . If a given bitset for who to wake is desired, then that must be set in mask . Use FUTEX_BITSET_MATCH_ANY to match any waiter on the given futex. flags are currently unused and hence 0 must be passed. This function prepares an async futex (2) wake request. See that man page for details. Note that the io_uring futex wake request is similar to the FUTEX_WAKE_BITSET operation, as FUTEX_WAKE is a strict subset of that. Available since kernel 6.7.