From 21a9ce60353068e9080029256eba95c2a3ba44c6 Mon Sep 17 00:00:00 2001 From: mcrakhman Date: Fri, 14 Jul 2023 16:19:38 +0200 Subject: [PATCH] Fix openingWaitCount logic --- net/peer/peer.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/peer/peer.go b/net/peer/peer.go index d0226823..11d323a6 100644 --- a/net/peer/peer.go +++ b/net/peer/peer.go @@ -106,10 +106,10 @@ func (p *peer) AcquireDrpcConn(ctx context.Context) (drpc.Conn, error) { p.mu.Lock() if len(p.inactive) == 0 { wait := p.limiter.wait(len(p.active) + int(p.openingWaitCount.Load())) + p.openingWaitCount.Add(1) + defer p.openingWaitCount.Add(-1) p.mu.Unlock() if wait != nil { - p.openingWaitCount.Add(1) - defer p.openingWaitCount.Add(-1) // throttle new connection opening select { case <-ctx.Done():