From ce1970d18d66cc1839b823a72d69975f01339195 Mon Sep 17 00:00:00 2001 From: vyzo Date: Fri, 6 Dec 2019 17:22:49 +0200 Subject: [PATCH] don't spawn a goroutine for scheduling connections --- gossipsub.go | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/gossipsub.go b/gossipsub.go index ffa4610..729ca33 100644 --- a/gossipsub.go +++ b/gossipsub.go @@ -420,16 +420,14 @@ func (gs *GossipSubRouter) pxConnect(peers []*pb.PeerInfo) { return } - // initiate connections, without blocking the event loop - go func() { - for _, ci := range toconnect { - select { - case gs.connect <- ci: - case <-gs.p.ctx.Done(): - return - } + for _, ci := range toconnect { + select { + case gs.connect <- ci: + default: + log.Debugf("ignoring peer connection attempt; too many pending connections") + break } - }() + } } func (gs *GossipSubRouter) connector() {