X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=include%2Furcu%2Frcuhlist.h;h=ca1da068b1fa6fdbe95db84dae922fc44e66bf84;hb=decfadf67412c383a6bdd674bea4da7ff4d9c1b4;hp=69c4d3184fd50d7f38a730e17447678f5fec3991;hpb=48da0279bc98de31fa9f046d6ff727028e82023c;p=urcu.git diff --git a/include/urcu/rcuhlist.h b/include/urcu/rcuhlist.h index 69c4d31..ca1da06 100644 --- a/include/urcu/rcuhlist.h +++ b/include/urcu/rcuhlist.h @@ -72,10 +72,10 @@ void cds_hlist_del_rcu(struct cds_hlist_node *elem) entry = cds_hlist_entry(pos, __typeof__(*entry), member)) #define cds_hlist_for_each_entry_rcu_2(entry, head, member) \ - for (entry = cds_hlist_entry(rcu_dereference((head)->next), \ + for (entry = cds_hlist_entry_safe(rcu_dereference((head)->next), \ __typeof__(*entry), member); \ - &entry->member != NULL; \ - entry = cds_hlist_entry(rcu_dereference(entry->member.next), \ + entry != NULL; \ + entry = cds_hlist_entry_safe(rcu_dereference(entry->member.next), \ __typeof__(*entry), member)) #endif /* _URCU_RCUHLIST_H */