X-Git-Url: http://plrg.eecs.uci.edu/git/?p=libcds.git;a=blobdiff_plain;f=cds%2Fmisc%2Frwlock.h;h=a1f87718a11189efe4c2b72f521bc47479f440b2;hp=e8c6465ed9b88d1e8999c35ee2e0f1d5d67aeae6;hb=95deb7fa36a4680f7d2246358d219725db6bdcc1;hpb=a09deddad8c64f9663fdfccbab67a43cf214543f diff --git a/cds/misc/rwlock.h b/cds/misc/rwlock.h index e8c6465e..a1f87718 100644 --- a/cds/misc/rwlock.h +++ b/cds/misc/rwlock.h @@ -31,12 +31,12 @@ public: } void read_lock() { - ExpBackoff backoff; +// ExpBackoff backoff; int priorvalue = atomic_fetch_sub_explicit(&lock, 1, memory_order_acquire); while (priorvalue <= 0) { atomic_fetch_add_explicit(&lock, 1, memory_order_relaxed); while (atomic_load_explicit(&lock, memory_order_relaxed) <= 0) { - backoff(); +// backoff(); } priorvalue = atomic_fetch_sub_explicit(&lock, 1, memory_order_acquire); } @@ -45,12 +45,12 @@ public: void write_lock() { int priorvalue = atomic_fetch_sub_explicit(&lock, RW_LOCK_BIAS, memory_order_acquire); - ExpBackoff backoff; +// ExpBackoff backoff; while (priorvalue != RW_LOCK_BIAS) { atomic_fetch_add_explicit(&lock, RW_LOCK_BIAS, memory_order_relaxed); while (atomic_load_explicit(&lock, memory_order_relaxed) != RW_LOCK_BIAS) { - backoff(); +// backoff(); } priorvalue = atomic_fetch_sub_explicit(&lock, RW_LOCK_BIAS, memory_order_acquire);