diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/DisposedSocketTests.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/DisposedSocketTests.cs index 5e670126c9d8c..2b55004be0f74 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/DisposedSocketTests.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/DisposedSocketTests.cs @@ -752,13 +752,14 @@ public void EndAccept_Throws_ObjectDisposed() [InlineData(true)] public async Task NonDisposedSocket_SafeHandlesCollected(bool clientAsync) { - List handles = await CreateHandlesAsync(clientAsync); - RetryHelper.Execute(() => + TimeSpan timeout = TimeSpan.FromMilliseconds(TestSettings.PassingTestTimeout); + List handles = await CreateHandlesAsync(clientAsync).WaitAsync(timeout); + await RetryHelper.ExecuteAsync(() => Task.Run(() => { GC.Collect(); GC.WaitForPendingFinalizers(); Assert.Equal(0, handles.Count(h => h.IsAlive)); - }); + })).WaitAsync(timeout); } [Fact]