diff --git a/cmd/soju/main.go b/cmd/soju/main.go index 3771be0..5e784c9 100644 --- a/cmd/soju/main.go +++ b/cmd/soju/main.go @@ -40,18 +40,6 @@ func (v *stringSliceFlag) Set(s string) error { return nil } -func bumpOpenedFileLimit() error { - var rlimit syscall.Rlimit - if err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rlimit); err != nil { - return fmt.Errorf("failed to get RLIMIT_NOFILE: %v", err) - } - rlimit.Cur = rlimit.Max - if err := syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rlimit); err != nil { - return fmt.Errorf("failed to set RLIMIT_NOFILE: %v", err) - } - return nil -} - var ( configPath string debug bool diff --git a/cmd/soju/rlimit.go b/cmd/soju/rlimit.go new file mode 100644 index 0000000..a0c51c9 --- /dev/null +++ b/cmd/soju/rlimit.go @@ -0,0 +1,21 @@ +//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris +// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + +package main + +import ( + "fmt" + "syscall" +) + +func bumpOpenedFileLimit() error { + var rlimit syscall.Rlimit + if err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rlimit); err != nil { + return fmt.Errorf("failed to get RLIMIT_NOFILE: %v", err) + } + rlimit.Cur = rlimit.Max + if err := syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rlimit); err != nil { + return fmt.Errorf("failed to set RLIMIT_NOFILE: %v", err) + } + return nil +} diff --git a/cmd/soju/rlimit_stub.go b/cmd/soju/rlimit_stub.go new file mode 100644 index 0000000..c409b1a --- /dev/null +++ b/cmd/soju/rlimit_stub.go @@ -0,0 +1,8 @@ +//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris +// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris + +package main + +func bumpOpenedFileLimit() error { + return nil +}