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); }