From: Mathieu Desnoyers Date: Mon, 5 Dec 2011 23:37:50 +0000 (-0500) Subject: Merge branch 'master' into urcu/ht-shrink X-Git-Tag: v0.7.0~43^2~21 X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=commitdiff_plain;h=6e464eba97cf74320fe4e2b8da6dbe5039582948 Merge branch 'master' into urcu/ht-shrink Conflicts: Makefile.am urcu-bp.c --- 6e464eba97cf74320fe4e2b8da6dbe5039582948 diff --cc Makefile.am index 91a9fd1,a7d3316..e1bf095 --- a/Makefile.am +++ b/Makefile.am @@@ -22,8 -21,8 +22,9 @@@ EXTRA_DIST = $(top_srcdir)/urcu/arch/*. gpl-2.0.txt lgpl-2.1.txt lgpl-relicensing.txt \ README LICENSE compat_arch_x86.c \ urcu-call-rcu-impl.h urcu-defer-impl.h \ + rculfhash-internal.h \ - ChangeLog API.txt + ChangeLog API.txt \ + $(top_srcdir)/tests/*.sh if COMPAT_ARCH COMPAT=compat_arch_@ARCHTYPE@.c diff --cc urcu-bp.c index 3b2062d,f3249b4..912e9b2 --- a/urcu-bp.c +++ b/urcu-bp.c @@@ -421,7 -421,28 +421,30 @@@ void rcu_bp_after_fork_child(void assert(!ret); } + void *rcu_dereference_sym_bp(void *p) + { + return _rcu_dereference(p); + } + + void *rcu_set_pointer_sym_bp(void **p, void *v) + { + cmm_wmb(); + return uatomic_set(p, v); + } + + void *rcu_xchg_pointer_sym_bp(void **p, void *v) + { + cmm_wmb(); + return uatomic_xchg(p, v); + } + + void *rcu_cmpxchg_pointer_sym_bp(void **p, void *old, void *_new) + { + cmm_wmb(); + return uatomic_cmpxchg(p, old, _new); + } + +DEFINE_RCU_FLAVOR() + #include "urcu-call-rcu-impl.h" #include "urcu-defer-impl.h"