ck_rwlock: Acquire semantics for ordering on latch bits.

ck_pring
Samy Al Bahra 11 years ago
parent fa28622386
commit 2b567320de

@ -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;
}

Loading…
Cancel
Save