X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=urcu-qsbr.c;h=5c6d49bb8fc5faa8f7364c9ce32ee53aed53a0a6;hb=1ed9b67726a52a0f4189cc1b58ca0141f7b1614f;hp=f002c345dcb7325d7bb6fb0221518587d35c4fc1;hpb=4d7033404d9671de36bec4a0a79c7c52546bc257;p=urcu.git diff --git a/urcu-qsbr.c b/urcu-qsbr.c index f002c34..5c6d49b 100644 --- a/urcu-qsbr.c +++ b/urcu-qsbr.c @@ -102,7 +102,7 @@ static void wait_gp(void) /* Read reader_gp before read futex */ smp_rmb(); if (uatomic_read(&gp_futex) == -1) - futex(&gp_futex, FUTEX_WAIT, -1, + futex_noasync(&gp_futex, FUTEX_WAIT, -1, NULL, NULL, 0); } @@ -278,38 +278,6 @@ void rcu_read_unlock(void) _rcu_read_unlock(); } -void *rcu_dereference(void *p) -{ - return _rcu_dereference(p); -} - -void *rcu_assign_pointer_sym(void **p, void *v) -{ - wmb(); - return STORE_SHARED(p, v); -} - -void *rcu_cmpxchg_pointer_sym(void **p, void *old, void *_new) -{ - wmb(); - return uatomic_cmpxchg(p, old, _new); -} - -void *rcu_xchg_pointer_sym(void **p, void *v) -{ - wmb(); - return uatomic_xchg(p, v); -} - -void *rcu_publish_content_sym(void **p, void *v) -{ - void *oldptr; - - oldptr = _rcu_xchg_pointer(p, v); - synchronize_rcu(); - return oldptr; -} - void rcu_quiescent_state(void) { _rcu_quiescent_state();