From 83e0f4b98572cad8442c113c0d31955e4a1674ba Mon Sep 17 00:00:00 2001 From: Eugene Valeyev Date: Thu, 18 Jan 2018 17:53:17 +0300 Subject: [PATCH] mobile: fixed crash on closing error channels --- mobile/ethclient.go | 12 ++++++++---- mobile/shhclient.go | 6 ++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/mobile/ethclient.go b/mobile/ethclient.go index 66399c6b56..67a3590645 100644 --- a/mobile/ethclient.go +++ b/mobile/ethclient.go @@ -137,8 +137,10 @@ func (ec *EthereumClient) SubscribeNewHead(ctx *Context, handler NewHeadHandler, case header := <-ch: handler.OnNewHead(&Header{header}) - case err := <-rawSub.Err(): - handler.OnError(err.Error()) + case err, ok := <-rawSub.Err(): + if ok { + handler.OnError(err.Error()) + } return } } @@ -226,8 +228,10 @@ func (ec *EthereumClient) SubscribeFilterLogs(ctx *Context, query *FilterQuery, case log := <-ch: handler.OnFilterLogs(&Log{&log}) - case err := <-rawSub.Err(): - handler.OnError(err.Error()) + case err, ok := <-rawSub.Err(): + if ok { + handler.OnError(err.Error()) + } return } } diff --git a/mobile/shhclient.go b/mobile/shhclient.go index c970c7f98c..f085ff71d0 100644 --- a/mobile/shhclient.go +++ b/mobile/shhclient.go @@ -160,8 +160,10 @@ func (wc *WhisperClient) SubscribeMessages(ctx *Context, criteria *Criteria, han case message := <-ch: handler.OnNewMessage(&Message{message}) - case err := <-rawSub.Err(): - handler.OnError(err.Error()) + case err, ok := <-rawSub.Err(): + if ok { + handler.OnError(err.Error()) + } return } }