list_empty_careful
Prev | Doubly Linked Lists | Next

## Name

list_empty_careful — tests whether a list is empty and not being modified

## Synopsis

`int list_empty_careful (` | const struct list_head * head`)`;

## Arguments

`head`

  the list to test

## Description

tests whether a list is empty _and_ checks that no other CPU might be in the process of modifying either member (next or prev)

## NOTE

using `list_empty_careful` without synchronization can only be safe if the only activity that can happen to the list entry is `list_del_init`. Eg. it cannot be used if another CPU could re-`list_add` it.

Prev | Up | Next
list_empty | Home | list_rotate_left