diff --git a/limiter.go b/limiter.go index c3d8951894f827b14e6a15204d9cef777bad9399..836edbc9f525c751965bb0dc7c49d08e39ac2073 100644 --- a/limiter.go +++ b/limiter.go @@ -166,5 +166,8 @@ func (dl *dialLimiter) executeDial(j *dialJob) { select { case j.resp <- dialResult{Conn: con, Addr: j.addr, Err: err}: case <-j.ctx.Done(): + if err == nil { + con.Close() + } } }