From 718b5a9316b06eb4fa4dfe7964324998803b6be7 Mon Sep 17 00:00:00 2001 From: Jamie Reece Wilson Date: Fri, 20 Oct 2023 10:04:06 +0100 Subject: [PATCH] [*] Nt Condvars: I'm paranoid about this potential race condition --- Source/Threading/Primitives/AuConditionVariable.NT.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Source/Threading/Primitives/AuConditionVariable.NT.cpp b/Source/Threading/Primitives/AuConditionVariable.NT.cpp index fe7b5d39..8951300c 100644 --- a/Source/Threading/Primitives/AuConditionVariable.NT.cpp +++ b/Source/Threading/Primitives/AuConditionVariable.NT.cpp @@ -307,6 +307,14 @@ namespace Aurora::Threading::Primitives if (uSignalNext == 0) { InterlockedOr((volatile LONG *)&this->wlist, 1); + + // paranoia + #if 1 + if (AuAtomicLoad(&this->signalCount) != 0) [[unlikely]] + { + AuAtomicUnset(&this->wlist, 0); + } + #endif } }