From 2689ef78aa25233da04e9e4f4dd35600fbfd7e4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Fri, 5 Apr 2019 18:58:03 +0200 Subject: [PATCH] Use syscalls in sys/unix to tweak ulimit See #5784 --- commands/limit_darwin.go | 18 +++++++++--------- go.mod | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/commands/limit_darwin.go b/commands/limit_darwin.go index 7dce75b3e42..52fcf34b971 100644 --- a/commands/limit_darwin.go +++ b/commands/limit_darwin.go @@ -14,7 +14,7 @@ package commands import ( - "syscall" + "golang.org/x/sys/unix" "github.com/spf13/cobra" jww "github.com/spf13/jwalterweatherman" @@ -33,8 +33,8 @@ func newLimitCmd() *limitCmd { Long: `Hugo will inspect the current ulimit settings on the system. This is primarily to ensure that Hugo can watch enough files on some OSs`, RunE: func(cmd *cobra.Command, args []string) error { - var rLimit syscall.Rlimit - err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit) + var rLimit unix.Rlimit + err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rLimit) if err != nil { return newSystemError("Error Getting Rlimit ", err) } @@ -44,11 +44,11 @@ This is primarily to ensure that Hugo can watch enough files on some OSs`, jww.FEEDBACK.Println("Attempting to increase limit") rLimit.Max = 999999 rLimit.Cur = 999999 - err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rLimit) + err = unix.Setrlimit(unix.RLIMIT_NOFILE, &rLimit) if err != nil { return newSystemError("Error Setting rLimit ", err) } - err = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit) + err = unix.Getrlimit(unix.RLIMIT_NOFILE, &rLimit) if err != nil { return newSystemError("Error Getting rLimit ", err) } @@ -62,15 +62,15 @@ This is primarily to ensure that Hugo can watch enough files on some OSs`, } func tweakLimit() { - var rLimit syscall.Rlimit - err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit) + var rLimit unix.Rlimit + err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rLimit) if err != nil { jww.ERROR.Println("Unable to obtain rLimit", err) } - if rLimit.Cur < rLimit.Max { + if true || rLimit.Cur < rLimit.Max { rLimit.Max = 64000 rLimit.Cur = 64000 - err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rLimit) + err = unix.Setrlimit(unix.RLIMIT_NOFILE, &rLimit) if err != nil { jww.WARN.Println("Unable to increase number of open files limit", err) } diff --git a/go.mod b/go.mod index 94ac9f68847..81bb49c4634 100644 --- a/go.mod +++ b/go.mod @@ -52,7 +52,7 @@ require ( golang.org/x/image v0.0.0-20190321063152-3fc05d484e9f golang.org/x/net v0.0.0-20180906233101-161cd47e91fd // indirect golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f - golang.org/x/sys v0.0.0-20190322080309-f49334f85ddc // indirect + golang.org/x/sys v0.0.0-20190322080309-f49334f85ddc golang.org/x/text v0.3.0 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect gopkg.in/yaml.v2 v2.2.2