From 2b567320de8c1b67c386a8b42165ca124a7bcca8 Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Thu, 17 Apr 2014 14:05:15 -0400 Subject: [PATCH] ck_rwlock: Acquire semantics for ordering on latch bits. --- include/ck_rwlock.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/ck_rwlock.h b/include/ck_rwlock.h index 5470b05..66b12f2 100644 --- a/include/ck_rwlock.h +++ b/include/ck_rwlock.h @@ -222,6 +222,7 @@ ck_rwlock_read_lock(ck_rwlock_t *rw) * fence operation. If writer is observed to 0, then * it is guaranteed that the latch will be visible. */ + ck_pr_fence_load(); snapshot = ck_pr_load_32(&rw->n_readers); if (snapshot >> CK_RWLOCK_LATCH_SHIFT) continue; @@ -232,8 +233,6 @@ ck_rwlock_read_lock(ck_rwlock_t *rw) ck_pr_dec_32(&rw->n_readers); } - /* Acquire semantics are necessary. */ - ck_pr_fence_load(); return; }