From c2e32b0a25ccb064caab26a03f2b7a5efd899bc1 Mon Sep 17 00:00:00 2001 From: Kirill Fomichev Date: Sat, 14 Mar 2020 19:28:02 +0300 Subject: [PATCH] Remove empty map on address unsubscribe --- server/websocket.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/websocket.go b/server/websocket.go index aa338b2c..ec72b883 100644 --- a/server/websocket.go +++ b/server/websocket.go @@ -684,10 +684,13 @@ func (s *WebsocketServer) subscribeAddresses(c *websocketChannel, addrDesc []bch func (s *WebsocketServer) unsubscribeAddresses(c *websocketChannel) (res interface{}, err error) { s.addressSubscriptionsLock.Lock() defer s.addressSubscriptionsLock.Unlock() - for _, sa := range s.addressSubscriptions { + for ads, sa := range s.addressSubscriptions { for sc := range sa { if sc == c { delete(sa, c) + if len(sa) == 0 { + delete(s.addressSubscriptions, ads) + } } } }