From f176fb5db501f5f9b3d1c1631615a8e9cbbf3bb6 Mon Sep 17 00:00:00 2001 From: Jkorf Date: Tue, 26 May 2026 09:27:04 +0200 Subject: [PATCH] Fixed timing issue in SymbolOrderBook stopping --- CryptoExchange.Net/OrderBook/SymbolOrderBook.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/CryptoExchange.Net/OrderBook/SymbolOrderBook.cs b/CryptoExchange.Net/OrderBook/SymbolOrderBook.cs index 224afef1..5c646b9b 100644 --- a/CryptoExchange.Net/OrderBook/SymbolOrderBook.cs +++ b/CryptoExchange.Net/OrderBook/SymbolOrderBook.cs @@ -333,17 +333,19 @@ namespace CryptoExchange.Net.OrderBook { _logger.OrderBookStopping(Api, Symbol); _cts?.Cancel(); - _queueEvent.Set(); - if (_processTask != null) - await _processTask.ConfigureAwait(false); - if (_subscription != null) { + if (_subscription != null) + { await _subscription.CloseAsync().ConfigureAwait(false); _subscription.ConnectionLost -= HandleConnectionLost; _subscription.ConnectionClosed -= HandleConnectionClosed; _subscription.ConnectionRestored -= HandleConnectionRestored; } + _queueEvent.Set(); + if (_processTask != null) + await _processTask.ConfigureAwait(false); + Status = OrderBookStatus.Disconnected; _logger.OrderBookStopped(Api, Symbol); }