diff --git a/src/libraries/System.Threading.Tasks/tests/CancellationTokenTests.cs b/src/libraries/System.Threading.Tasks/tests/CancellationTokenTests.cs index b1be8a744fe323..4d2c89ba14db57 100644 --- a/src/libraries/System.Threading.Tasks/tests/CancellationTokenTests.cs +++ b/src/libraries/System.Threading.Tasks/tests/CancellationTokenTests.cs @@ -1787,7 +1787,9 @@ public static void CancellationTokenSource_CancelAsync_AllCallbacksInvoked() Task t = cts.CancelAsync(); Assert.True(cts.IsCancellationRequested); - t.Wait(); // synchronously block to ensure this thread isn't reused + ((IAsyncResult)t).AsyncWaitHandle.WaitOne(); // synchronously block without inlining to ensure this thread isn't reused + t.Wait(); // propagate any exceptions + Assert.Equal(Iters * (Iters + 1) / 2, sum); }