From 6f7620e9078a2e4ef8c240ca6e817c1515120d86 Mon Sep 17 00:00:00 2001 From: Nicholas Blumhardt Date: Fri, 28 Oct 2016 13:35:48 +1000 Subject: [PATCH] Move all OnCompleted() firing to the receiver task, ensuring ordering is always respected --- src/Seq.Api/Api/Streams/ObservableStream.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Seq.Api/Api/Streams/ObservableStream.cs b/src/Seq.Api/Api/Streams/ObservableStream.cs index 5417fbc..ac96d4d 100644 --- a/src/Seq.Api/Api/Streams/ObservableStream.cs +++ b/src/Seq.Api/Api/Streams/ObservableStream.cs @@ -94,7 +94,6 @@ async Task Receive() if (received.MessageType == WebSocketMessageType.Close) { await _socket.CloseAsync(WebSocketCloseStatus.NormalClosure, "", CancellationToken.None); - End(); } else { @@ -112,6 +111,8 @@ async Task Receive() } } } + + End(); } void Emit(T value) @@ -206,8 +207,6 @@ public void Dispose() } catch { } - End(); - if (_run != null) _run.ConfigureAwait(false).GetAwaiter().GetResult();