diff --git a/common/src/pfq-rwlock.C b/common/src/pfq-rwlock.C index eaf0c2812e..a5d1c8d85d 100644 --- a/common/src/pfq-rwlock.C +++ b/common/src/pfq-rwlock.C @@ -80,7 +80,7 @@ pfq_rwlock_init(pfq_rwlock_t &l) void pfq_rwlock_read_lock(pfq_rwlock_t &l) { - race_detector_fake_lock_acquire(&l); + race_detector_fake_lock_acquire(&l.wtail); uint32_t ticket = atomic_fetch_add_explicit(&l.rin, READER_INCREMENT, std::memory_order_acq_rel); if (ticket & WRITER_PRESENT) { @@ -102,7 +102,7 @@ pfq_rwlock_read_unlock(pfq_rwlock_t &l) if (ticket == atomic_load_explicit(&l.last, std::memory_order_acquire)) atomic_store_explicit(&l.whead->blocked, false, std::memory_order_release); } - race_detector_fake_lock_release(&l); + race_detector_fake_lock_release(&l.wtail); }