From e403de7fbf3cec14da0951a25046162703267e19 Mon Sep 17 00:00:00 2001 From: BrennanConroy Date: Mon, 6 Aug 2018 19:17:29 -0700 Subject: [PATCH] Solve LongPolling races by moving Cts disposal to connection disposal (#2731) --- .../Internal/HttpConnectionContext.cs | 2 ++ .../Internal/HttpConnectionDispatcher.cs | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionContext.cs b/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionContext.cs index a12e8aba61..045e821ee1 100644 --- a/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionContext.cs +++ b/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionContext.cs @@ -182,6 +182,8 @@ namespace Microsoft.AspNetCore.Http.Connections.Internal { Task disposeTask; + Cancellation?.Dispose(); + await StateLock.WaitAsync(); try { diff --git a/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.cs b/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.cs index f8c33e051f..e13b532e16 100644 --- a/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.cs +++ b/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.cs @@ -313,10 +313,6 @@ namespace Microsoft.AspNetCore.Http.Connections.Internal connection.LastSeenUtc = DateTime.UtcNow; connection.Status = HttpConnectionStatus.Inactive; - - connection.Cancellation?.Cancel(); - - connection.Cancellation = null; } } finally