From f4f763f1361ae58dadda41ca551c9039890e5534 Mon Sep 17 00:00:00 2001 From: David Fowler Date: Sat, 1 Oct 2016 03:29:49 -0700 Subject: [PATCH] Only run next queued task if the previous was successful --- src/Microsoft.AspNetCore.Sockets/TaskQueue.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.AspNetCore.Sockets/TaskQueue.cs b/src/Microsoft.AspNetCore.Sockets/TaskQueue.cs index 5fbbb704cb..09423769eb 100644 --- a/src/Microsoft.AspNetCore.Sockets/TaskQueue.cs +++ b/src/Microsoft.AspNetCore.Sockets/TaskQueue.cs @@ -41,7 +41,15 @@ namespace Microsoft.AspNetCore.Sockets return _lastQueuedTask; } - var newTask = _lastQueuedTask.ContinueWith((t, s1) => taskFunc(s1), state).Unwrap(); + var newTask = _lastQueuedTask.ContinueWith((t, s1) => + { + if (t.IsFaulted || t.IsCanceled) + { + return t; + } + return taskFunc(s1); + }, + state).Unwrap(); _lastQueuedTask = newTask; return newTask; }