p2p: prevent deadlock

This commit is contained in:
Martin Holst Swende 2024-08-16 09:54:52 +02:00
parent 6eb42a6b4f
commit a0569cddd8
No known key found for this signature in database
GPG key ID: 683B438C05A5DDF0

View file

@ -323,12 +323,18 @@ func (p *Peer) readLoop(errc chan<- error) {
for {
msg, err := p.rw.ReadMsg()
if err != nil {
errc <- err
select {
case <-p.closed:
case errc <- err:
}
return
}
msg.ReceivedAt = time.Now()
if err = p.handle(msg); err != nil {
errc <- err
select {
case <-p.closed:
case errc <- err:
}
return
}
}