Skip to content

Commit b15ee09

Browse files
committed
Use new Task.WaitAsync() to cancel an await call
1 parent e7e2549 commit b15ee09

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

projects/RabbitMQ.Client/client/impl/SocketFrameHandler.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
using System.Threading;
3939
using System.Threading.Channels;
4040
using System.Threading.Tasks;
41-
4241
using RabbitMQ.Client.Exceptions;
4342
using RabbitMQ.Client.Logging;
4443

@@ -48,6 +47,9 @@ internal static class TaskExtensions
4847
{
4948
public static async Task TimeoutAfter(this Task task, TimeSpan timeout)
5049
{
50+
#if NET6_0_OR_GREATER
51+
await task.WaitAsync(timeout).ConfigureAwait(false);
52+
#else
5153
if (task == await Task.WhenAny(task, Task.Delay(timeout)).ConfigureAwait(false))
5254
{
5355
await task.ConfigureAwait(false);
@@ -57,6 +59,7 @@ public static async Task TimeoutAfter(this Task task, TimeSpan timeout)
5759
Task supressErrorTask = task.ContinueWith((t, s) => t.Exception.Handle(e => true), null, CancellationToken.None, TaskContinuationOptions.OnlyOnFaulted | TaskContinuationOptions.ExecuteSynchronously, TaskScheduler.Default);
5860
throw new TimeoutException();
5961
}
62+
#endif
6063
}
6164
}
6265

0 commit comments

Comments
 (0)