@@ -390,6 +390,7 @@ func (h *handler) runDiffExtension(peer *diff.Peer, handler diff.Handler) error
if err := h.peers.registerDiffExtension(peer); err != nil {
peer.Log().Error("Diff extension registration failed", "err", err)
+ peer.Close()
return err
}
return handler(peer)
@@ -45,6 +45,7 @@ func (h *diffHandler) RunPeer(peer *diff.Peer, hand diff.Handler) error {
wait <- peer
ps.lock.Unlock()
return (*handler)(h).runDiffExtension(peer, hand)