core: Use SO_REUSEPORT_LB on FreeBSD (#5554)

to balance load between threads.
This commit is contained in:
Jonathan Davies authored and GitHub committed 2023-05-23 10:56:00 -06:00
1 parent cee4441cb1
commit 942fbb37ec
3 files changed
+15 -1

No files matched your search

+1 -1
View File
@@ -119,7 +119,7 @@ func reusePort(network, address string, conn syscall.RawConn) error {
return nil
}
return conn.Control(func(descriptor uintptr) {
if err := unix.SetsockoptInt(int(descriptor), unix.SOL_SOCKET, unix.SO_REUSEPORT, 1); err != nil {
if err := unix.SetsockoptInt(int(descriptor), unix.SOL_SOCKET, unixSOREUSEPORT, 1); err != nil {
Log().Error("setting SO_REUSEPORT",
zap.String("network", network),
zap.String("address", address),
+7
View File
@@ -0,0 +1,7 @@
//go:build unix && !freebsd
package caddy
import "golang.org/x/sys/unix"
const unixSOREUSEPORT = unix.SO_REUSEPORT
+7
View File
@@ -0,0 +1,7 @@
//go:build freebsd
package caddy
import "golang.org/x/sys/unix"
const unixSOREUSEPORT = unix.SO_REUSEPORT_LB