k3s/vendor/github.com/opencontainers/runc/rlimit_linux.go
2020-08-28 17:18:31 -07:00

32 lines
908 B
Go

package main
import "fmt"
import "golang.org/x/sys/unix"
var rlimitMap = map[string]int{
"RLIMIT_CPU": unix.RLIMIT_CPU,
"RLIMIT_FSIZE": unix.RLIMIT_FSIZE,
"RLIMIT_DATA": unix.RLIMIT_DATA,
"RLIMIT_STACK": unix.RLIMIT_STACK,
"RLIMIT_CORE": unix.RLIMIT_CORE,
"RLIMIT_RSS": unix.RLIMIT_RSS,
"RLIMIT_NPROC": unix.RLIMIT_NPROC,
"RLIMIT_NOFILE": unix.RLIMIT_NOFILE,
"RLIMIT_MEMLOCK": unix.RLIMIT_MEMLOCK,
"RLIMIT_AS": unix.RLIMIT_AS,
"RLIMIT_LOCKS": unix.RLIMIT_LOCKS,
"RLIMIT_SIGPENDING": unix.RLIMIT_SIGPENDING,
"RLIMIT_MSGQUEUE": unix.RLIMIT_MSGQUEUE,
"RLIMIT_NICE": unix.RLIMIT_NICE,
"RLIMIT_RTPRIO": unix.RLIMIT_RTPRIO,
"RLIMIT_RTTIME": unix.RLIMIT_RTTIME,
}
func strToRlimit(key string) (int, error) {
rl, ok := rlimitMap[key]
if !ok {
return 0, fmt.Errorf("wrong rlimit value: %s", key)
}
return rl, nil
}