From 2a05ce76a84765da17147598c99a66e06486b754 Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Tue, 13 Dec 2022 17:07:02 +0100 Subject: [PATCH] fix(dot/network): `findPeers` returns on timeout if a peer is found (#3001) --- dot/network/discovery.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/dot/network/discovery.go b/dot/network/discovery.go index 04d536bb74..d24f089919 100644 --- a/dot/network/discovery.go +++ b/dot/network/discovery.go @@ -177,14 +177,14 @@ func (d *discovery) advertise() { } func (d *discovery) checkPeerCount() { - timer := time.NewTicker(connectToPeersTimeout) - defer timer.Stop() + ticker := time.NewTicker(connectToPeersTimeout) + defer ticker.Stop() for { select { case <-d.ctx.Done(): return - case <-timer.C: + case <-ticker.C: if len(d.h.Network().Peers()) > d.minPeers { continue } @@ -217,10 +217,6 @@ func (d *discovery) findPeers() { logger.Tracef("found new peer %s via DHT", peer.ID) d.h.Peerstore().AddAddrs(peer.ID, peer.Addrs, peerstore.PermanentAddrTTL) d.handler.AddPeer(0, peer.ID) - - if !timer.Stop() { - <-timer.C - } } } }