X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu-pointer.c;h=f5c98118499d5706b1b13458a83f6bb4a044adfb;hp=83f0ffdacb388cdc87016a9a10408fe7b712e62d;hb=eaf2c3f4b9041d2a6a85d7f9e56f6014603367d4;hpb=49617de1d80d771ac9a1d45b1710b16fac65e0aa diff --git a/urcu-pointer.c b/urcu-pointer.c index 83f0ffd..f5c9811 100644 --- a/urcu-pointer.c +++ b/urcu-pointer.c @@ -4,7 +4,7 @@ * * library wrappers to be used by non-LGPL compatible source code. * - * Copyright (c) 2009 Mathieu Desnoyers + * Copyright (c) 2009 Mathieu Desnoyers * Copyright (c) 2009 Paul E. McKenney, IBM Corporation. * * This library is free software; you can redistribute it and/or @@ -40,7 +40,7 @@ void *rcu_dereference_sym(void *p) void *rcu_set_pointer_sym(void **p, void *v) { wmb(); - return STORE_SHARED(*p, v); + return uatomic_set(p, v); } void *rcu_xchg_pointer_sym(void **p, void *v) @@ -52,9 +52,5 @@ void *rcu_xchg_pointer_sym(void **p, void *v) void *rcu_cmpxchg_pointer_sym(void **p, void *old, void *_new) { wmb(); - if (likely(URCU_CAS_AVAIL())) - return uatomic_cmpxchg(p, old, _new); - - /* Compatibility for i386. Old-timer. */ - return compat_uatomic_cmpxchg(p, old, _new); + return uatomic_cmpxchg(p, old, _new); }