RCU list: add rcuhlist.h, add list_replace_rcu
[urcu.git] / urcu / list.h
index 6384728bc054d551fccd811cec27f43dc41d61da..d26751204192993c68c48010f7e931e18c6bfa2b 100644 (file)
@@ -88,6 +88,17 @@ list_move (list_t *elem, list_t *head)
   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
 list_splice (list_t *add, list_t *head)
This page took 0.023028 seconds and 4 git commands to generate.