Move rlimit to utils

This commit is contained in:
9seconds
2019-09-04 10:30:21 +03:00
parent 2492a47d0a
commit 299a34252e
4 changed files with 36 additions and 21 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ require (
go.uber.org/multierr v1.1.0 // indirect go.uber.org/multierr v1.1.0 // indirect
go.uber.org/zap v1.10.0 go.uber.org/zap v1.10.0
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 // indirect golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 // indirect
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // indirect golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a
gopkg.in/alecthomas/kingpin.v2 v2.2.6 gopkg.in/alecthomas/kingpin.v2 v2.2.6
gopkg.in/alexcesaro/statsd.v2 v2.0.0 gopkg.in/alexcesaro/statsd.v2 v2.0.0
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
+2 -20
View File
@@ -3,14 +3,13 @@ package main
import ( import (
"math/rand" "math/rand"
"os" "os"
"syscall"
"time" "time"
"github.com/juju/errors"
kingpin "gopkg.in/alecthomas/kingpin.v2" kingpin "gopkg.in/alecthomas/kingpin.v2"
"github.com/9seconds/mtg/cli" "github.com/9seconds/mtg/cli"
"github.com/9seconds/mtg/config" "github.com/9seconds/mtg/config"
"github.com/9seconds/mtg/utils"
) )
var version = "dev" // this has to be set by build ld flags var version = "dev" // this has to be set by build ld flags
@@ -143,7 +142,7 @@ func main() {
app.Version(version) app.Version(version)
app.HelpFlag.Short('h') app.HelpFlag.Short('h')
if err := setRLimit(); err != nil { if err := utils.SetLimits(); err != nil {
cli.Fatal(err.Error()) cli.Fatal(err.Error())
} }
@@ -186,20 +185,3 @@ func main() {
} }
} }
} }
func setRLimit() (err error) {
rLimit := syscall.Rlimit{}
err = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit)
if err != nil {
err = errors.Annotate(err, "Cannot get rlimit")
return
}
rLimit.Cur = rLimit.Max
err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rLimit)
if err != nil {
err = errors.Annotate(err, "Cannot set rlimit")
}
return
}
+26
View File
@@ -0,0 +1,26 @@
// +build !windows
package utils
import (
"golang.org/x/sys/unix"
"github.com/juju/errors"
)
func SetLimits() (err error) {
rLimit := unix.Rlimit{}
err = unix.Getrlimit(unix.RLIMIT_NOFILE, &rLimit)
if err != nil {
err = errors.Annotate(err, "Cannot get rlimit")
return
}
rLimit.Cur = rLimit.Max
err = unix.Setrlimit(unix.RLIMIT_NOFILE, &rLimit)
if err != nil {
err = errors.Annotate(err, "Cannot set rlimit")
}
return
}
+7
View File
@@ -0,0 +1,7 @@
// +build windows
package utils
func SetLimits() error {
return nil
}