diff options
Diffstat (limited to 'libgo/go/net/sockopt_bsd.go')
-rw-r--r-- | libgo/go/net/sockopt_bsd.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libgo/go/net/sockopt_bsd.go b/libgo/go/net/sockopt_bsd.go index e99fb41..2093e08 100644 --- a/libgo/go/net/sockopt_bsd.go +++ b/libgo/go/net/sockopt_bsd.go @@ -12,14 +12,15 @@ import ( "syscall" ) -func setDefaultSockopts(s, f, p int) { +func setDefaultSockopts(s, f, t int) { switch f { case syscall.AF_INET6: // Allow both IP versions even if the OS default is otherwise. syscall.SetsockoptInt(s, syscall.IPPROTO_IPV6, syscall.IPV6_V6ONLY, 0) } - if f == syscall.AF_UNIX || p == syscall.IPPROTO_TCP { + if f == syscall.AF_UNIX || + (f == syscall.AF_INET || f == syscall.AF_INET6) && t == syscall.SOCK_STREAM { // Allow reuse of recently-used addresses. syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1) |