add SO_REUSEPORT for freebsd 11

pull/2366/head
lucifer9 2020-03-23 21:52:19 +08:00
parent 8e8a8ce299
commit 2574704710
1 changed files with 4 additions and 1 deletions

View File

@ -35,6 +35,7 @@ type pfiocNatlook struct {
const ( const (
sizeofPfiocNatlook = 0x4c sizeofPfiocNatlook = 0x4c
soReUsePort = 0x00000200
soReUsePortLB = 0x00010000 soReUsePortLB = 0x00010000
) )
@ -192,8 +193,10 @@ func bindAddr(fd uintptr, ip []byte, port uint32) error {
} }
if err := syscall.SetsockoptInt(int(fd), syscall.SOL_SOCKET, soReUsePortLB, 1); err != nil { if err := syscall.SetsockoptInt(int(fd), syscall.SOL_SOCKET, soReUsePortLB, 1); err != nil {
if err := syscall.SetsockoptInt(int(fd), syscall.SOL_SOCKET, soReUsePort, 1); err != nil {
return newError("failed to set resuse_port").Base(err).AtWarning() return newError("failed to set resuse_port").Base(err).AtWarning()
} }
}
var sockaddr syscall.Sockaddr var sockaddr syscall.Sockaddr