mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 22:24: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/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
|
||||||
|
|||||||
@@ -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
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -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