From: Kefu Chai Date: Sun, 7 Jul 2019 03:21:12 +0000 (+0800) Subject: common/RWLock: add RWLock::{lock,unlock}_shared() X-Git-Tag: v15.1.0~1971^2~47 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3f612c45e30592f1ca9a8fbe77c03efd8fd181c3;p=ceph.git 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 --- diff --git a/src/common/RWLock.h b/src/common/RWLock.h index 94ba7a001164..08c8edc7b6d5 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();