From 85fc290bb77d9fa3c4e9352d7aa0b317e4736def Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Tue, 2 Apr 2024 22:08:30 +0300 Subject: [PATCH] [KERNEL32_APITEST] Use InterlockedIncrement for proper synchronization --- modules/rostests/apitests/kernel32/QueueUserAPC.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/rostests/apitests/kernel32/QueueUserAPC.c b/modules/rostests/apitests/kernel32/QueueUserAPC.c index 72435209eae..46b6f1c94c5 100644 --- a/modules/rostests/apitests/kernel32/QueueUserAPC.c +++ b/modules/rostests/apitests/kernel32/QueueUserAPC.c @@ -8,7 +8,7 @@ #define MAX_RECORD 30 -static DWORD s_record_count = 0; +static LONG s_record_count = 0; static DWORD s_record[MAX_RECORD + 1] = { 0 }; static BOOL s_terminate_all = FALSE; @@ -24,9 +24,9 @@ static const SIZE_T s_expected_count = _countof(s_expected); static void AddValueToRecord(DWORD dwValue) { - s_record[s_record_count] = dwValue; - if (s_record_count < MAX_RECORD) - s_record_count++; + LONG next = InterlockedIncrement(&s_record_count) - 1; + if (next < MAX_RECORD) + s_record[next] = dwValue; } static VOID CheckRecord(void)