From 68f14c06cb621f362628823ea622d9dc7cc2bfa7 Mon Sep 17 00:00:00 2001 From: Justin Van Patten Date: Tue, 26 Apr 2016 00:33:53 -0700 Subject: [PATCH] Use Task.FromCanceled() on NETSTANDARD1_3 Task.FromCanceled(cancellationToken) can be used on NETSTANDARD1_3 in TaskUtilities.GetCancelledZeroTask(). --- .../Http/FrameRequestStream.cs | 2 +- .../Infrastructure/TaskUtilities.cs | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.AspNetCore.Server.Kestrel/Http/FrameRequestStream.cs b/src/Microsoft.AspNetCore.Server.Kestrel/Http/FrameRequestStream.cs index f16cf244cb..dd36f28c28 100644 --- a/src/Microsoft.AspNetCore.Server.Kestrel/Http/FrameRequestStream.cs +++ b/src/Microsoft.AspNetCore.Server.Kestrel/Http/FrameRequestStream.cs @@ -165,7 +165,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Http case FrameStreamState.Open: if (cancellationToken.IsCancellationRequested) { - return TaskUtilities.GetCancelledZeroTask(); + return TaskUtilities.GetCancelledZeroTask(cancellationToken); } break; case FrameStreamState.Closed: diff --git a/src/Microsoft.AspNetCore.Server.Kestrel/Infrastructure/TaskUtilities.cs b/src/Microsoft.AspNetCore.Server.Kestrel/Infrastructure/TaskUtilities.cs index 8935ac7bda..97f64e3e21 100644 --- a/src/Microsoft.AspNetCore.Server.Kestrel/Infrastructure/TaskUtilities.cs +++ b/src/Microsoft.AspNetCore.Server.Kestrel/Infrastructure/TaskUtilities.cs @@ -26,12 +26,15 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Infrastructure #endif } - public static Task GetCancelledZeroTask() + public static Task GetCancelledZeroTask(CancellationToken cancellationToken = default(CancellationToken)) { - // Task.FromCanceled doesn't return Task +#if NETSTANDARD1_3 + return Task.FromCanceled(cancellationToken); +#else var tcs = new TaskCompletionSource(); tcs.TrySetCanceled(); return tcs.Task; +#endif } } } \ No newline at end of file