p2p: avoid spinning loop on out-of-handles (#21878)

* p2p: avoid busy-loop on temporary errors

* p2p: address review concerns
pull/21885/head
Martin Holst Swende 4 years ago committed by GitHub
parent ebb9591c4d
commit 3ef52775c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      p2p/server.go

@ -854,13 +854,18 @@ func (srv *Server) listenLoop() {
<-slots
var (
fd net.Conn
err error
fd net.Conn
err error
lastLog time.Time
)
for {
fd, err = srv.listener.Accept()
if netutil.IsTemporaryError(err) {
srv.log.Debug("Temporary read error", "err", err)
if time.Since(lastLog) > 1*time.Second {
srv.log.Debug("Temporary read error", "err", err)
lastLog = time.Now()
}
time.Sleep(time.Millisecond * 200)
continue
} else if err != nil {
srv.log.Debug("Read error", "err", err)

Loading…
Cancel
Save