uatomic: update atomic set/read, use STORE_SHARED/LOAD_SHARED
[urcu.git] / urcu / list.h
index 7ccb76aeee760f0686155c0de34e568fc49fc50b..6384728bc054d551fccd811cec27f43dc41d61da 100644 (file)
@@ -65,14 +65,28 @@ list_add_tail (list_t *newp, list_t *head)
 }
 
 
+/* Remove element from list.  */
+static inline void
+__list_del (list_t *prev, list_t *next)
+{
+  next->prev = prev;
+  prev->next = next;
+}
+
 /* Remove element from list.  */
 static inline void
 list_del (list_t *elem)
 {
-  elem->next->prev = elem->prev;
-  elem->prev->next = elem->next;
+  __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);
+}
 
 /* Join two lists.  */
 static inline void
This page took 0.023013 seconds and 4 git commands to generate.