Fix: TCP dial error should not return early (#307)
This commit is contained in:
parent
b76737bdbb
commit
8adcc4d83b
1 changed files with 1 additions and 4 deletions
|
@ -140,12 +140,9 @@ func dialTimeout(network, address string, timeout time.Duration) (net.Conn, erro
|
||||||
} else {
|
} else {
|
||||||
c, err = dialer.DialContext(ctx, "tcp4", net.JoinHostPort(ip.String(), port))
|
c, err = dialer.DialContext(ctx, "tcp4", net.JoinHostPort(ip.String(), port))
|
||||||
}
|
}
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case results <- dialResult{Conn: c, error: err, ipv6: ipv6}:
|
case results <- dialResult{Conn: c, error: err, ipv6: ipv6, done: true}:
|
||||||
case <-returned:
|
case <-returned:
|
||||||
if c != nil {
|
if c != nil {
|
||||||
c.Close()
|
c.Close()
|
||||||
|
|
Loading…
Reference in a new issue