| // Copyright 2009 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| func maxListenerBacklog() int { |
| // NOTE: Never return a number bigger than 1<<16 - 1. See issue 5030. |
| func listenerSockaddr(s syscall.Handle, f int, laddr sockaddr) (syscall.Sockaddr, error) { |
| switch laddr := laddr.(type) { |
| case *TCPAddr, *UnixAddr: |
| if err := setDefaultListenerSockopts(s); err != nil { |
| if laddr.IP != nil && laddr.IP.IsMulticast() { |
| if err := setDefaultMulticastSockopts(s); err != nil { |
| addr.IP = IPv6unspecified |
| func sysSocket(f, t, p int) (syscall.Handle, error) { |
| // See ../syscall/exec_unix.go for description of ForkLock. |
| s, err := syscall.Socket(f, t, p) |
| syscall.ForkLock.RUnlock() |