other versions
HANDLE_EARLY_REQUEUE(9) | Futex API reference | HANDLE_EARLY_REQUEUE(9) |
NAME¶
handle_early_requeue_pi_wakeup - Detect early wakeup on the initial futexSYNOPSIS¶
int handle_early_requeue_pi_wakeup(struct futex_hash_bucket * hb, struct futex_q * q, union futex_key * key2, struct hrtimer_sleeper * timeout);
ARGUMENTS¶
struct futex_hash_bucket * hbthe hash_bucket futex_q was original enqueued on
struct futex_q * q
the futex_q woken while waiting to be requeued
union futex_key * key2
the futex_key of the requeue target futex
struct hrtimer_sleeper * timeout
the timeout associated with the wait (NULL if none)
DESCRIPTION¶
Detect if the task was woken on the initial futex as opposed to the requeue target futex. If so, determine if it was a timeout or a signal that caused the wakeup and return the appropriate error code to the caller. Must be called with the hb lock held.RETURN¶
0 = no early wakeup detected; <0 = -ETIMEDOUT or -ERESTARTNOINTRAUTHOR¶
Rusty Russell <rusty@rustcorp.com.au>Author.
COPYRIGHT¶
September 2017 | Kernel Hackers Manual 4.12 |