From 12adafad8be034b1cb2452911dd56f2a9f187904 Mon Sep 17 00:00:00 2001 From: Lyubomir Lyubenov Date: Wed, 31 Jul 2024 09:14:59 +0300 Subject: [PATCH] Wrong way of using of TaskCreationOptions.LongRunning --- dotnet-etcd/leaseClient.cs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/dotnet-etcd/leaseClient.cs b/dotnet-etcd/leaseClient.cs index 32cd336..823cfd9 100644 --- a/dotnet-etcd/leaseClient.cs +++ b/dotnet-etcd/leaseClient.cs @@ -95,6 +95,7 @@ public Task LeaseKeepAlive(CancellationTokenSource cancellationTokenSource, long } CancellationToken cancellationToken = cancellationTokenSource.Token; + int communicationTimeoutInMilliseconds = communicationTimeout ?? keepAliveTimeout / 2; async ValueTask WriteAsync(AsyncDuplexStreamingCall leaser, LeaseKeepAliveRequest request, int timeoutInMilliseconds, CancellationToken cancellationToken) { @@ -125,9 +126,8 @@ AsyncDuplexStreamingCall LeaseKee return connection.LeaseClient.LeaseKeepAlive(headers, deadline, cancellationTokenSource.Token); } - async Task KeepAliveAsync(object state) + async Task KeepAliveAsync() { - int communicationTimeoutInMilliseconds = communicationTimeout ?? keepAliveTimeout / 2; LeaseKeepAliveRequest request = new() { ID = leaseId, @@ -210,13 +210,7 @@ await cancellationTokenSource.CancelAsync() } } - return Task.Factory.StartNew( - KeepAliveAsync, - null, - cancellationToken, - TaskCreationOptions.LongRunning, - TaskScheduler.Current) - .Unwrap(); + return Task.Run(KeepAliveAsync, cancellationToken); }); ///