aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/thread.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zencore/thread.cpp')
-rw-r--r--src/zencore/thread.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/zencore/thread.cpp b/src/zencore/thread.cpp
index 06093d6b0..329e17eea 100644
--- a/src/zencore/thread.cpp
+++ b/src/zencore/thread.cpp
@@ -153,10 +153,10 @@ Event::Event()
m_EventHandle = CreateEvent(nullptr, bManualReset, bInitialState, nullptr);
#else
ZEN_UNUSED(bManualReset);
- auto* Inner = new EventInner();
+ auto* Inner = new EventInner();
+ std::unique_lock Lock(Inner->Mutex);
Inner->bSet = bInitialState;
m_EventHandle = Inner;
- std::atomic_thread_fence(std::memory_order_release);
#endif
}
@@ -208,9 +208,8 @@ Event::Close()
{
std::unique_lock Lock(Inner->Mutex);
Inner->bSet.store(true);
+ m_EventHandle = nullptr;
}
- m_EventHandle = nullptr;
- std::atomic_thread_fence(std::memory_order_release);
delete Inner;
#endif
}