X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fpthread-lock.hpp;h=7d037e47226cf2469503bf30b8073915fb134349;hb=HEAD;hp=d19e3f3fbeb9ba066c19494ce209191859d2b495;hpb=460bede77c5a79691a3e1fca03c2d64209038f31;p=lttng-tools.git diff --git a/src/common/pthread-lock.hpp b/src/common/pthread-lock.hpp index d19e3f3fb..7d037e472 100644 --- a/src/common/pthread-lock.hpp +++ b/src/common/pthread-lock.hpp @@ -10,8 +10,8 @@ #include -#include #include +#include namespace lttng { namespace pthread { @@ -26,13 +26,17 @@ namespace details { */ class mutex { public: - mutex(pthread_mutex_t& mutex_p) : _mutex{mutex_p} + explicit mutex(pthread_mutex_t& mutex_p) : _mutex(mutex_p) { } + ~mutex() = default; + /* "Not copyable" and "not moveable" Mutex requirements. */ - mutex(mutex const &) = delete; - mutex &operator=(mutex const &) = delete; + mutex(mutex const&) = delete; + mutex(mutex&&) = delete; + mutex& operator=(mutex const&) = delete; + mutex& operator=(mutex&&) = delete; void lock() { @@ -76,11 +80,16 @@ private: */ class lock_guard { public: - lock_guard(pthread_mutex_t& mutex) : _mutex{mutex}, _guard(_mutex) + explicit lock_guard(pthread_mutex_t& mutex) : _mutex(mutex), _guard(_mutex) { } - lock_guard(const lock_guard &) = delete; + ~lock_guard() = default; + + lock_guard(const lock_guard&) = delete; + lock_guard(lock_guard&&) = delete; + lock_guard& operator=(const lock_guard&) = delete; + lock_guard& operator=(lock_guard&&) = delete; private: details::mutex _mutex;