aboutsummaryrefslogtreecommitdiffstats
path: root/les/handler.go
diff options
context:
space:
mode:
authorFelföldi Zsolt <zsfelfoldi@gmail.com>2019-03-20 16:35:05 +0800
committerPéter Szilágyi <peterke@gmail.com>2019-03-20 16:35:05 +0800
commitc53c5e616f04ae8b041bfb64309cbc7f3e70303a (patch)
treeb71b353e670031efbd6b952296a985b5e02e7d9a /les/handler.go
parente7d1867964734cfa4c1067944f213ba5aaceffe1 (diff)
downloadgo-tangerine-c53c5e616f04ae8b041bfb64309cbc7f3e70303a.tar
go-tangerine-c53c5e616f04ae8b041bfb64309cbc7f3e70303a.tar.gz
go-tangerine-c53c5e616f04ae8b041bfb64309cbc7f3e70303a.tar.bz2
go-tangerine-c53c5e616f04ae8b041bfb64309cbc7f3e70303a.tar.lz
go-tangerine-c53c5e616f04ae8b041bfb64309cbc7f3e70303a.tar.xz
go-tangerine-c53c5e616f04ae8b041bfb64309cbc7f3e70303a.tar.zst
go-tangerine-c53c5e616f04ae8b041bfb64309cbc7f3e70303a.zip
les: fix peer id and reply error handling (#19289)
* les: fixed peer id format * les: fixed peer reply error handling
Diffstat (limited to 'les/handler.go')
-rw-r--r--les/handler.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/les/handler.go b/les/handler.go
index 50c32fb95..7c290b717 100644
--- a/les/handler.go
+++ b/les/handler.go
@@ -329,6 +329,11 @@ func (pm *ProtocolManager) handle(p *peer) error {
// handleMsg is invoked whenever an inbound message is received from a remote
// peer. The remote connection is torn down upon returning any error.
func (pm *ProtocolManager) handleMsg(p *peer) error {
+ select {
+ case err := <-p.errCh:
+ return err
+ default:
+ }
// Read the next message from the remote peer, and ensure it's fully consumed
msg, err := p.rw.ReadMsg()
if err != nil {
@@ -389,7 +394,10 @@ func (pm *ProtocolManager) handleMsg(p *peer) error {
if reply != nil {
p.queueSend(func() {
if err := reply.send(bv); err != nil {
- p.errCh <- err
+ select {
+ case p.errCh <- err:
+ default:
+ }
}
})
}