|
|
@@ -3,14 +3,13 @@ package main
|
|
3
|
3
|
import (
|
|
4
|
4
|
"math/rand"
|
|
5
|
5
|
"os"
|
|
6
|
|
- "syscall"
|
|
7
|
6
|
"time"
|
|
8
|
7
|
|
|
9
|
|
- "github.com/juju/errors"
|
|
10
|
8
|
kingpin "gopkg.in/alecthomas/kingpin.v2"
|
|
11
|
9
|
|
|
12
|
10
|
"github.com/9seconds/mtg/cli"
|
|
13
|
11
|
"github.com/9seconds/mtg/config"
|
|
|
12
|
+ "github.com/9seconds/mtg/utils"
|
|
14
|
13
|
)
|
|
15
|
14
|
|
|
16
|
15
|
var version = "dev" // this has to be set by build ld flags
|
|
|
@@ -143,7 +142,7 @@ func main() {
|
|
143
|
142
|
app.Version(version)
|
|
144
|
143
|
app.HelpFlag.Short('h')
|
|
145
|
144
|
|
|
146
|
|
- if err := setRLimit(); err != nil {
|
|
|
145
|
+ if err := utils.SetLimits(); err != nil {
|
|
147
|
146
|
cli.Fatal(err.Error())
|
|
148
|
147
|
}
|
|
149
|
148
|
|
|
|
@@ -186,20 +185,3 @@ func main() {
|
|
186
|
185
|
}
|
|
187
|
186
|
}
|
|
188
|
187
|
}
|
|
189
|
|
-
|
|
190
|
|
-func setRLimit() (err error) {
|
|
191
|
|
- rLimit := syscall.Rlimit{}
|
|
192
|
|
- err = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit)
|
|
193
|
|
- if err != nil {
|
|
194
|
|
- err = errors.Annotate(err, "Cannot get rlimit")
|
|
195
|
|
- return
|
|
196
|
|
- }
|
|
197
|
|
- rLimit.Cur = rLimit.Max
|
|
198
|
|
-
|
|
199
|
|
- err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rLimit)
|
|
200
|
|
- if err != nil {
|
|
201
|
|
- err = errors.Annotate(err, "Cannot set rlimit")
|
|
202
|
|
- }
|
|
203
|
|
-
|
|
204
|
|
- return
|
|
205
|
|
-}
|