X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Furcu.hpp;h=edb53b7b59e0e842791a4ed9529e681f6d24439d;hp=abbf71679690c0b7f95e2f3f44db744cf05ef413;hb=9d89db29f3bf6c826293350f8f1a8559ec906b24;hpb=1a12551012430c38186da14611dd4921e7319d20 diff --git a/src/common/urcu.hpp b/src/common/urcu.hpp index abbf71679..edb53b7b5 100644 --- a/src/common/urcu.hpp +++ b/src/common/urcu.hpp @@ -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;