diff --git a/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.MaxResponseHeadersLength.cs b/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.MaxResponseHeadersLength.cs index 0e8cfc240ceb94..7fee0affc047c3 100644 --- a/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.MaxResponseHeadersLength.cs +++ b/src/libraries/Common/tests/System/Net/Http/HttpClientHandlerTest.MaxResponseHeadersLength.cs @@ -73,7 +73,7 @@ await LoopbackServerFactory.CreateClientAndServerAsync(async uri => [InlineData(15)] public async Task LargeSingleHeader_ThrowsException(int maxResponseHeadersLength) { - var semaphore = new SemaphoreSlim(0); + using var ce = new CountdownEvent(2); using HttpClientHandler handler = CreateHttpClientHandler(); handler.MaxResponseHeadersLength = maxResponseHeadersLength; @@ -86,7 +86,8 @@ await LoopbackServerFactory.CreateClientAndServerAsync(async uri => { Assert.Contains((handler.MaxResponseHeadersLength * 1024).ToString(), e.ToString()); } - await semaphore.WaitAsync(); + ce.Signal(); + ce.Wait(TestHelper.PassingTestTimeout); }, async server => { @@ -105,7 +106,8 @@ await LoopbackServerFactory.CreateClientAndServerAsync(async uri => #endif finally { - semaphore.Release(); + ce.Signal(); + ce.Wait(TestHelper.PassingTestTimeout); await connection.DisposeAsync(); } }); @@ -119,7 +121,7 @@ await LoopbackServerFactory.CreateClientAndServerAsync(async uri => [InlineData(int.MaxValue / 800, 100 * 1024)] // Capped at int.MaxValue public async Task ThresholdExceeded_ThrowsException(int? maxResponseHeadersLength, int headersLengthEstimate) { - var semaphore = new SemaphoreSlim(0); + using var ce = new CountdownEvent(2); await LoopbackServerFactory.CreateClientAndServerAsync(async uri => { using HttpClientHandler handler = CreateHttpClientHandler(); @@ -143,7 +145,8 @@ await LoopbackServerFactory.CreateClientAndServerAsync(async uri => Assert.Contains((handler.MaxResponseHeadersLength * 1024).ToString(), e.ToString()); } } - await semaphore.WaitAsync(); + ce.Signal(); + ce.Wait(TestHelper.PassingTestTimeout); }, async server => { @@ -168,7 +171,8 @@ await LoopbackServerFactory.CreateClientAndServerAsync(async uri => #endif finally { - semaphore.Release(); + ce.Signal(); + ce.Wait(TestHelper.PassingTestTimeout); await connection.DisposeAsync(); } });