diff --git a/eth/handler.go b/eth/handler.go index 033a44b3bb..aaea00e037 100644 --- a/eth/handler.go +++ b/eth/handler.go @@ -352,6 +352,8 @@ func (h *handler) runEthPeer(peer *eth.Peer, handler eth.Handler) error { case <-timeout.C: peer.Log().Warn("Required block challenge timed out, dropping", "addr", peer.RemoteAddr(), "type", peer.Name()) h.removePeer(peer.ID()) + case <-dead: + // Peer handler terminated, abort all goroutines } }(number, hash, req) }