mobile: fixed crash on closing error channels

This commit is contained in:
Eugene Valeyev 2018-01-18 17:53:17 +03:00
parent 9b03dae499
commit 83e0f4b985
2 changed files with 12 additions and 6 deletions

View file

@ -137,8 +137,10 @@ func (ec *EthereumClient) SubscribeNewHead(ctx *Context, handler NewHeadHandler,
case header := <-ch:
handler.OnNewHead(&Header{header})
case err := <-rawSub.Err():
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():
case err, ok := <-rawSub.Err():
if ok {
handler.OnError(err.Error())
}
return
}
}

View file

@ -160,8 +160,10 @@ func (wc *WhisperClient) SubscribeMessages(ctx *Context, criteria *Criteria, han
case message := <-ch:
handler.OnNewMessage(&Message{message})
case err := <-rawSub.Err():
case err, ok := <-rawSub.Err():
if ok {
handler.OnError(err.Error())
}
return
}
}