Scroll to navigation

FUTEX_REQUEUE(9) Futex API reference FUTEX_REQUEUE(9)

NAME

futex_requeue - Requeue waiters from uaddr1 to uaddr2

SYNOPSIS

int futex_requeue(u32 __user * uaddr1, unsigned int flags, u32 __user * uaddr2, int nr_wake, int nr_requeue, u32 * cmpval, int requeue_pi);

ARGUMENTS

uaddr1
source futex user address
flags
futex flags (FLAGS_SHARED, etc.)
uaddr2
target futex user address
nr_wake
number of waiters to wake (must be 1 for requeue_pi)
nr_requeue
number of waiters to requeue (0-INT_MAX)
cmpval
uaddr1 expected value (or NULL)
requeue_pi
if we are attempting to requeue from a non-pi futex to a pi futex (pi to pi requeue is not supported)

DESCRIPTION

Requeue waiters on uaddr1 to uaddr2. In the requeue_pi case, try to acquire uaddr2 atomically on behalf of the top waiter.

RETURN

>=0 - on success, the number of tasks requeued or woken; <0 - on error

AUTHOR

Rusty Russell <rusty@rustcorp.com.au>
Author.

COPYRIGHT

May 2018 Kernel Hackers Manual 3.16