X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Furcu.hpp;h=35bb2905c9e44cfeaf14b6e065d39696861ce8a6;hb=HEAD;hp=d121ecd9f6799b62e1236a56b17d4d9f4110ba85;hpb=d7bfb9b0fa35679d3e728b9165699d9faf905539;p=lttng-tools.git diff --git a/src/common/urcu.hpp b/src/common/urcu.hpp index d121ecd9f..35bb2905c 100644 --- a/src/common/urcu.hpp +++ b/src/common/urcu.hpp @@ -9,8 +9,8 @@ #define LTTNG_URCU_H #define _LGPL_SOURCE -#include #include +#include namespace lttng { namespace urcu { @@ -27,10 +27,13 @@ namespace details { class read_lock { public: read_lock() = default; + ~read_lock() = default; /* "Not copyable" and "not moveable" Mutex requirements. */ - read_lock(read_lock const &) = delete; - read_lock &operator=(read_lock const &) = delete; + read_lock(read_lock const&) = delete; + read_lock(read_lock&&) = delete; + read_lock& operator=(read_lock&&) = delete; + read_lock& operator=(const read_lock&) = delete; void lock() { @@ -57,15 +60,17 @@ public: */ class read_lock_guard { public: - read_lock_guard() : _guard(_lock) - { - } + read_lock_guard() = default; + ~read_lock_guard() = default; - read_lock_guard(const read_lock_guard &) = delete; + read_lock_guard(const read_lock_guard&) = delete; + read_lock_guard(read_lock_guard&&) = delete; + read_lock_guard& operator=(read_lock_guard&&) = delete; + read_lock_guard& operator=(const read_lock_guard&) = delete; private: details::read_lock _lock; - std::lock_guard _guard; + std::lock_guard _guard{ _lock }; }; using unique_read_lock = std::unique_lock;