From: Mikio Hara Date: Thu, 19 Dec 2013 01:00:15 +0000 (+0900) Subject: net: don't return a nested error when happy eyeballs dialing X-Git-Tag: go1.3beta1~1148 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=7eb45d3c4a0956fc2207001360472ad048e544bc;p=gostls13.git net: don't return a nested error when happy eyeballs dialing Also removes an unused variable. Fixes #6795. R=adg, dave, bradfitz, gobot CC=golang-dev https://golang.org/cl/29440043 --- diff --git a/src/pkg/net/dial.go b/src/pkg/net/dial.go index 6304818bf1..70b66e70d1 100644 --- a/src/pkg/net/dial.go +++ b/src/pkg/net/dial.go @@ -172,7 +172,6 @@ func (d *Dialer) Dial(network, address string) (Conn, error) { func dialMulti(net, addr string, la Addr, ras addrList, deadline time.Time) (Conn, error) { type racer struct { Conn - Addr error } // Sig controls the flow of dial results on lane. It passes a @@ -184,7 +183,7 @@ func dialMulti(net, addr string, la Addr, ras addrList, deadline time.Time) (Con go func(ra Addr) { c, err := dialSingle(net, addr, la, ra, deadline) if _, ok := <-sig; ok { - lane <- racer{c, ra, err} + lane <- racer{c, err} } else if err == nil { // We have to return the resources // that belong to the other @@ -195,7 +194,6 @@ func dialMulti(net, addr string, la Addr, ras addrList, deadline time.Time) (Con }(ra.toAddr()) } defer close(sig) - var failAddr Addr lastErr := errTimeout nracers := len(ras) for nracers > 0 { @@ -205,12 +203,11 @@ func dialMulti(net, addr string, la Addr, ras addrList, deadline time.Time) (Con if racer.error == nil { return racer.Conn, nil } - failAddr = racer.Addr lastErr = racer.error nracers-- } } - return nil, &OpError{Op: "dial", Net: net, Addr: failAddr, Err: lastErr} + return nil, lastErr } // dialSingle attempts to establish and returns a single connection to