LIST_EMPTY_CAREFUL(9) Data Types LIST_EMPTY_CAREFUL(9)NAMElist_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.
COPYRIGHTKernel Hackers Manual 2.6. November 2013 LIST_EMPTY_CAREFUL(9)