FUTEX_PROXY_TRYLOCK_(9) Futex API reference FUTEX_PROXY_TRYLOCK_(9)NAMEfutex_proxy_trylock_atomic - Attempt an atomic lock for the top waiter
SYNOPSIS
int futex_proxy_trylock_atomic(u32 __user * pifutex,
struct futex_hash_bucket * hb1,
struct futex_hash_bucket * hb2,
union futex_key * key1,
union futex_key * key2,
struct futex_pi_state ** ps,
int set_waiters);
ARGUMENTS
pifutex
the user address of the to futex
hb1
the from futex hash bucket, must be locked by the caller
hb2
the to futex hash bucket, must be locked by the caller
key1
the from futex key
key2
the to futex key
ps
address to store the pi_state pointer
set_waiters
force setting the FUTEX_WAITERS bit (1) or not (0)
DESCRIPTION
Try and get the lock on behalf of the top waiter if we can do it
atomically. Wake the top waiter if we succeed. If the caller specified
set_waiters, then direct futex_lock_pi_atomic to force setting the
FUTEX_WAITERS bit. hb1 and hb2 must be held by the caller.
RETURN
0 - failed to acquire the lock atomically; 1 - acquired the lock; <0 -
error
AUTHOR
Rusty Russell <rusty@rustcorp.com.au>
Author.
COPYRIGHTKernel Hackers Manual 3.11 November 2013 FUTEX_PROXY_TRYLOCK_(9)