Name

list_empty_careful — tests whether a list is

Synopsis

int list_empty_careful (const struct list_head * head);

Arguments

head

the list to test.

Description

empty _and_ checks that no other CPU might be in the process of still modifying either member

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.