abort_exclusive_wait
Prev | Wait queues and Wake events | Next

## Name

abort_exclusive_wait — abort exclusive waiting in a queue

## Synopsis

`void abort_exclusive_wait (` | wait_queue_head_t * q,
| wait_queue_t * wait,
| unsigned int mode,
| void * key`)`;

## Arguments

`q`

  waitqueue waited on

`wait`

  wait descriptor

`mode`

  runstate of the waiter to be woken

`key`

  key to identify a wait bit queue or `NULL`

## Description

Sets current thread back to running state and removes the wait descriptor from the given waitqueue if still queued.

Wakes up the next waiter if the caller is concurrently woken up through the queue.

This prevents waiter starvation where an exclusive waiter aborts and is woken up concurrently and no one wakes up the next waiter.

Prev | Up | Next
finish_wait | Home | wake_up_bit