diff --git a/src/samples/test-sample/test.cpp b/src/samples/test-sample/test.cpp index 4fc7c567..a3b03a34 100644 --- a/src/samples/test-sample/test.cpp +++ b/src/samples/test-sample/test.cpp @@ -434,22 +434,24 @@ namespace bool test_apc() { - bool executed = false; - QueueUserAPC( - +[](ULONG_PTR param) { - *reinterpret_cast(param) = true; // - }, - GetCurrentThread(), reinterpret_cast(&executed)); + int executions = 0; + + auto* apc_func = +[](ULONG_PTR param) { + *reinterpret_cast(param) += 1; // + }; + + QueueUserAPC(apc_func, GetCurrentThread(), reinterpret_cast(&executions)); + QueueUserAPC(apc_func, GetCurrentThread(), reinterpret_cast(&executions)); Sleep(1); - if (executed) + if (executions != 0) { return false; } SleepEx(1, TRUE); - return executed; + return executions == 2; } }