X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Furcu.hpp;h=35bb2905c9e44cfeaf14b6e065d39696861ce8a6;hb=HEAD;hp=abbf71679690c0b7f95e2f3f44db744cf05ef413;hpb=5c7248cd5bce45bf64d563fb4e130a63bf345f11;p=lttng-tools.git diff --git a/src/common/urcu.hpp b/src/common/urcu.hpp index abbf71679..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() { @@ -58,12 +61,16 @@ public: class read_lock_guard { public: 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{_lock}; + std::lock_guard _guard{ _lock }; }; using unique_read_lock = std::unique_lock;