1234567891011121314151617181920212223242526272829303132333435363738 |
- //go:build !windows && !plan9 && !js
- package unix
- import "golang.org/x/sys/unix"
- var rlimitKeys = map[int]string{
- // The following are defined by POSIX
- // (https://pubs.opengroup.org/onlinepubs/9699919799/functions/getrlimit.html).
- //
- // Note: RLIMIT_AS is defined by POSIX, but missing on OpenBSD
- // (https://man.openbsd.org/getrlimit.2#BUGS); it is defined on Darwin, but
- // it's an undocumented alias of RLIMIT_RSS there.
- unix.RLIMIT_CORE: "core",
- unix.RLIMIT_CPU: "cpu",
- unix.RLIMIT_DATA: "data",
- unix.RLIMIT_FSIZE: "fsize",
- unix.RLIMIT_NOFILE: "nofile",
- unix.RLIMIT_STACK: "stack",
- // The following are not defined by POSIX, but supported by every UNIX OS
- // Elvish supports (Linux, macOS, Free/Net/OpenBSD). See:
- //
- // - https://man7.org/linux/man-pages/man2/setrlimit.2.html
- // - https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/getrlimit.2.html
- // - https://www.freebsd.org/cgi/man.cgi?query=getrlimit
- // - https://man.netbsd.org/getrlimit.2
- // - https://man.openbsd.org/getrlimit.2
- unix.RLIMIT_MEMLOCK: "memlock",
- unix.RLIMIT_NPROC: "nproc",
- unix.RLIMIT_RSS: "rss",
- }
- //lint:ignore U1000 used on some OS
- func addRlimitKeys(m map[int]string) {
- for k, v := range m {
- rlimitKeys[k] = v
- }
- }
|