connect: try 3x

This commit is contained in:
Juan Batiz-Benet
2015-01-19 16:50:21 -08:00
parent b11afac096
commit fa34c52093

View File

@@ -106,6 +106,9 @@ func dial(dialer net.Dialer, netw, addr string) (c net.Conn, err error) {
}
}
// look at dialTCP in http://golang.org/src/net/tcpsock_posix.go .... !
// here we just try again 3 times.
for i := 0; i < 3; i++ {
if fd, err = socket(rfamily, socktype, rprotocol); err != nil {
return nil, err
}
@@ -118,6 +121,12 @@ func dial(dialer net.Dialer, netw, addr string) (c net.Conn, err error) {
if err = connect(fd, remoteSockaddr); err != nil {
syscall.Close(fd)
// fmt.Println("connect failed", localSockaddr, err)
continue // try again.
}
break
}
if err != nil {
return nil, err
}