Bläddra i källkod

Move rlimit to utils

tags/1.0^2
9seconds 6 år sedan
förälder
incheckning
299a34252e
4 ändrade filer med 36 tillägg och 21 borttagningar
  1. 1
    1
      go.mod
  2. 2
    20
      main.go
  3. 26
    0
      utils/rlimit.go
  4. 7
    0
      utils/rlimit_windows.go

+ 1
- 1
go.mod Visa fil

@@ -26,7 +26,7 @@ require (
26 26
 	go.uber.org/multierr v1.1.0 // indirect
27 27
 	go.uber.org/zap v1.10.0
28 28
 	golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7 // indirect
29
-	golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // indirect
29
+	golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a
30 30
 	gopkg.in/alecthomas/kingpin.v2 v2.2.6
31 31
 	gopkg.in/alexcesaro/statsd.v2 v2.0.0
32 32
 	gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect

+ 2
- 20
main.go Visa fil

@@ -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
-}

+ 26
- 0
utils/rlimit.go Visa fil

@@ -0,0 +1,26 @@
1
+// +build !windows
2
+
3
+package utils
4
+
5
+import (
6
+	"golang.org/x/sys/unix"
7
+
8
+	"github.com/juju/errors"
9
+)
10
+
11
+func SetLimits() (err error) {
12
+	rLimit := unix.Rlimit{}
13
+	err = unix.Getrlimit(unix.RLIMIT_NOFILE, &rLimit)
14
+	if err != nil {
15
+		err = errors.Annotate(err, "Cannot get rlimit")
16
+		return
17
+	}
18
+	rLimit.Cur = rLimit.Max
19
+
20
+	err = unix.Setrlimit(unix.RLIMIT_NOFILE, &rLimit)
21
+	if err != nil {
22
+		err = errors.Annotate(err, "Cannot set rlimit")
23
+	}
24
+
25
+	return
26
+}

+ 7
- 0
utils/rlimit_windows.go Visa fil

@@ -0,0 +1,7 @@
1
+// +build windows
2
+
3
+package utils
4
+
5
+func SetLimits() error {
6
+	return nil
7
+}

Laddar…
Avbryt
Spara