diff options
| author | eeight <[email protected]> | 2022-05-20 00:26:58 +0300 |
|---|---|---|
| committer | eeight <[email protected]> | 2022-05-20 00:26:58 +0300 |
| commit | 13950b7049e70b9e0adf3cbe48a527f9e8d25e3c (patch) | |
| tree | 65359e6418fb7833b826e97044c58c55485941cb /util/system/event.cpp | |
| parent | d98cd6128e8838e19ae1a95be34385af299dd62a (diff) | |
IGNIETFERRO-1105 Get rid of TAtomic in system/{atexit, event, shellcommand}
ref:c74bffae7e90dee515f5089979fc050d20a34e4e
Diffstat (limited to 'util/system/event.cpp')
| -rw-r--r-- | util/system/event.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/util/system/event.cpp b/util/system/event.cpp index ceb9134a3d7..42311d48352 100644 --- a/util/system/event.cpp +++ b/util/system/event.cpp @@ -1,6 +1,5 @@ #include "defaults.h" -#include "atomic.h" #include "event.h" #include "mutex.h" #include "condvar.h" @@ -9,6 +8,8 @@ #include "winint.h" #endif +#include <atomic> + class TSystemEvent::TEvImpl: public TAtomicRefCount<TSystemEvent::TEvImpl> { public: #ifdef _win_ @@ -49,12 +50,12 @@ public: } inline void Signal() noexcept { - if (Manual && AtomicGet(Signaled)) { + if (Manual && Signaled.load(std::memory_order_acquire)) { return; // shortcut } with_lock (Mutex) { - AtomicSet(Signaled, 1); + Signaled.store(true, std::memory_order_release); } if (Manual) { @@ -65,27 +66,27 @@ public: } inline void Reset() noexcept { - AtomicSet(Signaled, 0); + Signaled.store(false, std::memory_order_release); } inline bool WaitD(TInstant deadLine) noexcept { - if (Manual && AtomicGet(Signaled)) { + if (Manual && Signaled.load(std::memory_order_acquire)) { return true; // shortcut } bool resSignaled = true; with_lock (Mutex) { - while (!AtomicGet(Signaled)) { + while (!Signaled.load(std::memory_order_acquire)) { if (!Cond.WaitD(Mutex, deadLine)) { - resSignaled = AtomicGet(Signaled); // timed out, but Signaled could have been set + resSignaled = Signaled.load(std::memory_order_acquire); // timed out, but Signaled could have been set break; } } if (!Manual) { - AtomicSet(Signaled, 0); + Signaled.store(false, std::memory_order_release); } } @@ -99,7 +100,7 @@ private: #else TCondVar Cond; TMutex Mutex; - TAtomic Signaled = 0; + std::atomic<bool> Signaled = false; bool Manual; #endif }; |
