diff --git a/common/threading/AtomicFlag.hpp b/common/threading/AtomicFlag.hpp index 12f35335b94c56ce0432080d358241d961fa7f55..22ac544b6779243791635a45a547f3665c7b1720 100644 --- a/common/threading/AtomicFlag.hpp +++ b/common/threading/AtomicFlag.hpp @@ -15,7 +15,6 @@ * submit itself to any jurisdiction. */ - #pragma once #include "common/threading/MutexLocker.hpp" @@ -25,18 +24,14 @@ namespace cta::threading { // A one-way flag: once set, it cannot be reset struct AtomicFlag { - AtomicFlag() : m_set(false) {}; - void set() { - MutexLocker ml(m_mutex); - m_set = true; - } - operator bool() const { - MutexLocker ml(m_mutex); - return m_set; - } + AtomicFlag() = default; + + void set() { m_set = true; } + + operator bool() const { return m_set; } + private: - bool m_set; - mutable Mutex m_mutex; + std::atomic m_set = false; }; -} // namespace cta::threading +} // namespace cta::threading