Fix openingWaitCount logic

This commit is contained in:
mcrakhman 2023-07-14 16:19:38 +02:00
parent 4bccbf1faf
commit 21a9ce6035
No known key found for this signature in database
GPG Key ID: DED12CFEF5B8396B

View File

@ -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():