diff options
Diffstat (limited to 'tsan.supp')
| -rw-r--r-- | tsan.supp | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -20,3 +20,15 @@ # TSAN reports as a race. This is benign: the slot is always NULL and writing NULL # to it has no observable effect. race:eastl::hashtable*DoFreeNodes* + +# UE::Trace's GetUid() uses a racy static uint32 cache (Uid = Uid ? Uid : Initialize()) +# as a fast path to avoid re-entering Initialize(). The actual initialization is done via +# a thread-safe static (Uid_ThreadSafeInit) inside Initialize(), so the worst case is +# redundant calls to Initialize() which always returns the same value. +race:*Fields::GetUid* + +# TRACE_CPU_SCOPE generates a function-local `static int32 scope_id` that is lazily +# initialized without synchronization (if (0 == scope_id) scope_id = ScopeNew(...)). +# Same benign pattern as GetUid: the worst case is redundant calls to ScopeNew() which +# always returns the same value for a given scope name. +race:*$trace_scope_id* |