From c53c5e616f04ae8b041bfb64309cbc7f3e70303a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felf=C3=B6ldi=20Zsolt?= Date: Wed, 20 Mar 2019 09:35:05 +0100 Subject: les: fix peer id and reply error handling (#19289) * les: fixed peer id format * les: fixed peer reply error handling --- les/handler.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'les/handler.go') 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: + } } }) } -- cgit v1.2.3