- freebsd: fix build

Go's "syscall" package file for FreeBSD (incorrectly?) uses int64
 types in syscall.Rlimit struct.
This commit is contained in:
Simon Zolin 2019-07-04 14:26:34 +03:00
parent 5abf0b5a53
commit 98ff11e1c7
2 changed files with 28 additions and 1 deletions

27
home/os_freebsd.go Normal file
View File

@ -0,0 +1,27 @@
// +build freebsd
package home
import (
"os"
"syscall"
"github.com/AdguardTeam/golibs/log"
)
// Set user-specified limit of how many fd's we can use
// https://github.com/AdguardTeam/AdGuardHome/issues/659
func setRlimit(val uint) {
var rlim syscall.Rlimit
rlim.Max = int64(val)
rlim.Cur = int64(val)
err := syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rlim)
if err != nil {
log.Error("Setrlimit() failed: %v", err)
}
}
// Check if the current user has root (administrator) rights
func haveAdminRights() (bool, error) {
return os.Getuid() == 0, nil
}

View File

@ -1,4 +1,4 @@
// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
// +build aix darwin dragonfly linux netbsd openbsd solaris
package home