mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 23:34:02 +03:00
Move rlimit to utils
This commit is contained in:
@@ -26,7 +26,7 @@ require (
|
||||
go.uber.org/multierr v1.1.0 // indirect
|
||||
go.uber.org/zap v1.10.0
|
||||
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/alexcesaro/statsd.v2 v2.0.0
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
|
||||
|
||||
@@ -3,14 +3,13 @@ package main
|
||||
import (
|
||||
"math/rand"
|
||||
"os"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/juju/errors"
|
||||
kingpin "gopkg.in/alecthomas/kingpin.v2"
|
||||
|
||||
"github.com/9seconds/mtg/cli"
|
||||
"github.com/9seconds/mtg/config"
|
||||
"github.com/9seconds/mtg/utils"
|
||||
)
|
||||
|
||||
var version = "dev" // this has to be set by build ld flags
|
||||
@@ -143,7 +142,7 @@ func main() {
|
||||
app.Version(version)
|
||||
app.HelpFlag.Short('h')
|
||||
|
||||
if err := setRLimit(); err != nil {
|
||||
if err := utils.SetLimits(); err != nil {
|
||||
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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
// +build windows
|
||||
|
||||
package utils
|
||||
|
||||
func SetLimits() error {
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user