From 3f612c45e30592f1ca9a8fbe77c03efd8fd181c3 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sun, 7 Jul 2019 11:21:12 +0800 Subject: [PATCH] common/RWLock: add RWLock::{lock,unlock}_shared() so RWLock can be used with std::shared_lock, rgw is using RWLock'prioritize_write feature, which is not offered by std::shared_mutex, but we want to unify the way we use mutex, so add these helper functions. Signed-off-by: Kefu Chai --- src/common/RWLock.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/common/RWLock.h b/src/common/RWLock.h index 94ba7a00116..08c8edc7b6d 100644 --- a/src/common/RWLock.h +++ b/src/common/RWLock.h @@ -122,7 +122,12 @@ public: void put_read() const { unlock(); } - + void lock_shared() { + get_read(); + } + void unlock_shared() { + put_read(); + } // write void get_write(bool lockdep=true) { if (lockdep && this->lockdep && g_lockdep) @@ -148,7 +153,9 @@ public: void put_write() { unlock(); } - + void lock() { + get_write(); + } void get(bool for_write) { if (for_write) { get_write(); -- 2.47.3