aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2024-04-26 11:47:59 +0000
committerDan Engelbrecht <[email protected]>2024-04-26 14:30:43 +0200
commitab2085f1bef46c6fb87e1cc4834fa73f0b06b1ca (patch)
treeab82084fc15f430f14b429ee874521b85198c81f /src
parentmade fullformatter thread safe (diff)
downloadzen-ab2085f1bef46c6fb87e1cc4834fa73f0b06b1ca.tar.xz
zen-ab2085f1bef46c6fb87e1cc4834fa73f0b06b1ca.zip
some TSAN cleanup of Linux/Mac Event impl
Diffstat (limited to 'src')
-rw-r--r--src/zencore/thread.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/zencore/thread.cpp b/src/zencore/thread.cpp
index 06093d6b0..c5a4989bc 100644
--- a/src/zencore/thread.cpp
+++ b/src/zencore/thread.cpp
@@ -154,9 +154,9 @@ Event::Event()
#else
ZEN_UNUSED(bManualReset);
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
}