From 7563ccae20b4086a8c52f561c654c8b2a14ac520 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Thu, 12 Apr 2018 18:21:20 +1200 Subject: [PATCH] Always use TaskCreationOptions.RunContinuationsAsynchronously (#1966) --- .../HttpConnectionContext.cs | 2 +- src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionContext.cs b/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionContext.cs index b90e3623c0..dd70caddf4 100644 --- a/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionContext.cs +++ b/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionContext.cs @@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Http.Connections // This tcs exists so that multiple calls to DisposeAsync all wait asynchronously // on the same task - private readonly TaskCompletionSource _disposeTcs = new TaskCompletionSource(); + private readonly TaskCompletionSource _disposeTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); /// /// Creates the DefaultConnectionContext without Pipes to avoid upfront allocations. diff --git a/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs b/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs index 16b592f732..15ffc74fa5 100644 --- a/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs +++ b/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs @@ -29,7 +29,7 @@ namespace Microsoft.AspNetCore.SignalR private readonly ConnectionContext _connectionContext; private readonly ILogger _logger; private readonly CancellationTokenSource _connectionAbortedTokenSource = new CancellationTokenSource(); - private readonly TaskCompletionSource _abortCompletedTcs = new TaskCompletionSource(); + private readonly TaskCompletionSource _abortCompletedTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); private readonly long _keepAliveDuration; private readonly SemaphoreSlim _writeLock = new SemaphoreSlim(1);