From: Abhishek Lekshmanan Date: Fri, 27 Apr 2018 08:40:59 +0000 (+0200) Subject: osdc/Objector: use std::shared_mutex instead of boost::shared_mutex X-Git-Tag: v13.1.0~37^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F21702%2Fhead;p=ceph.git osdc/Objector: use std::shared_mutex instead of boost::shared_mutex Since boost::threads support interruption by default locking over boost::shared_mutexes may throw if the thread is interrupted. Replacing this by std:: variant Fixes: http://tracker.ceph.com/issues/23910 Signed-off-by: Abhishek Lekshmanan --- diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h index 64f3d329cf87..20c7825f9dc3 100644 --- a/src/osdc/Objecter.h +++ b/src/osdc/Objecter.h @@ -1243,7 +1243,7 @@ private: version_t last_seen_osdmap_version; version_t last_seen_pgmap_version; - mutable boost::shared_mutex rwlock; + mutable std::shared_mutex rwlock; using lock_guard = std::lock_guard; using unique_lock = std::unique_lock; using shared_lock = boost::shared_lock; @@ -1692,7 +1692,7 @@ public: bool is_watch; ceph::coarse_mono_time watch_valid_thru; ///< send time for last acked ping int last_error; ///< error from last failed ping|reconnect, if any - boost::shared_mutex watch_lock; + std::shared_mutex watch_lock; using lock_guard = std::unique_lock; using unique_lock = std::unique_lock; using shared_lock = boost::shared_lock; @@ -1827,7 +1827,7 @@ public: }; struct OSDSession : public RefCountedObject { - boost::shared_mutex lock; + std::shared_mutex lock; using lock_guard = std::lock_guard; using unique_lock = std::unique_lock; using shared_lock = boost::shared_lock;