rculfqueue: LGPL-ize
[urcu.git] / urcu / list.h
index 82c2ea4b9375855313c5b6cfaa5922415dfdeaea..888e776fd3b9309470aa5c552e77745744aedda5 100644 (file)
@@ -80,6 +80,24 @@ list_del (list_t *elem)
   __list_del (elem->prev, elem->next);
 }
 
+/* delete from list, add to another list as head */
+static inline void
+list_move (list_t *elem, list_t *head)
+{
+  __list_del (elem->prev, elem->next);
+  list_add (elem, head);
+}
+
+/* replace an old entry.
+ */
+static inline void
+list_replace(list_t *old, list_t *_new)
+{
+       _new->next = old->next;
+       _new->prev = old->prev;
+       _new->prev->next = _new;
+       _new->next->prev = _new;
+}
 
 /* Join two lists.  */
 static inline void
@@ -141,11 +159,11 @@ static inline int list_empty(list_t *head)
 }
 
 static inline void list_replace_init(list_t *old,
-                                    list_t *new)
+                                    list_t *_new)
 {
        list_t *head = old->next;
        list_del(old);
-       list_add_tail(new, head);
+       list_add_tail(_new, head);
        INIT_LIST_HEAD(old);
 }
 
This page took 0.022549 seconds and 4 git commands to generate.