projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: lfstack reversed empty/non-empty return value
[urcu.git]
/
urcu
/
rculist.h
diff --git
a/urcu/rculist.h
b/urcu/rculist.h
index ab88226b5f73d9ffff856ff347aefb3757c6a53f..1fd2df388f57cefc0ea19fa02a0c8c0b627847e8 100644
(file)
--- a/
urcu/rculist.h
+++ b/
urcu/rculist.h
@@
-35,9
+35,8
@@
void cds_list_add_rcu(struct cds_list_head *newp, struct cds_list_head *head)
{
newp->next = head->next;
newp->prev = head;
{
newp->next = head->next;
newp->prev = head;
- cmm_smp_wmb();
head->next->prev = newp;
head->next->prev = newp;
-
head->next = newp
;
+
rcu_assign_pointer(head->next, newp)
;
}
/* Add new element at the tail of the list. */
}
/* Add new element at the tail of the list. */
@@
-70,7
+69,7
@@
static inline
void cds_list_del_rcu(struct cds_list_head *elem)
{
elem->next->prev = elem->prev;
void cds_list_del_rcu(struct cds_list_head *elem)
{
elem->next->prev = elem->prev;
-
elem->prev->next = elem->next
;
+
CMM_STORE_SHARED(elem->prev->next, elem->next)
;
}
/*
}
/*
This page took
0.023041 seconds
and
4
git commands to generate.