Name
list_empty_careful — 
     tests whether a list is empty and not being modified
 
Synopsis
| int list_empty_careful ( | const struct list_head * head ); | 
 
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.