]> gcc.gnu.org Git - gcc.git/commitdiff
net: give C.getaddrinfo a hint that we only want SOCK_STREAM answers
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 9 Aug 2013 20:51:16 +0000 (20:51 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 9 Aug 2013 20:51:16 +0000 (20:51 +0000)
This should be more efficient everywhere, and appears to be
required on Solaris.

Copied from master repository.

From-SVN: r201637

libgo/go/net/cgo_unix.go

index a4d96a86d127ba1d94efab4f647c58edead54d5d..ce54d827c8ef9337edf7eff2d51180816c060cd5 100644 (file)
@@ -103,6 +103,7 @@ func cgoLookupIPCNAME(name string) (addrs []IP, cname string, err error, complet
        var hints syscall.Addrinfo
 
        hints.Ai_flags = int32(cgoAddrInfoFlags())
+       hints.Ai_socktype = syscall.SOCK_STREAM
 
        h := syscall.StringBytePtr(name)
        syscall.Entersyscall()
@@ -130,7 +131,7 @@ func cgoLookupIPCNAME(name string) (addrs []IP, cname string, err error, complet
                }
        }
        for r := res; r != nil; r = r.Ai_next {
-               // Everything comes back twice, once for UDP and once for TCP.
+               // We only asked for SOCK_STREAM, but check anyhow.
                if r.Ai_socktype != syscall.SOCK_STREAM {
                        continue
                }
This page took 0.063833 seconds and 5 git commands to generate.