| ... | ... | @@ -6121,7 +6121,7 @@ pub fn getrlimit(resource: rlimit_resource) GetrlimitError!rlimit { |
| 6121 | 6121 | } |
| 6122 | 6122 | } |
| 6123 | 6123 | |
| 6124 | | pub const SetrlimitError = error{PermissionDenied} || UnexpectedError; |
| 6124 | pub const SetrlimitError = error{PermissionDenied, LimitTooBig} || UnexpectedError; |
| 6125 | 6125 | |
| 6126 | 6126 | pub fn setrlimit(resource: rlimit_resource, limits: rlimit) SetrlimitError!void { |
| 6127 | 6127 | const setrlimit_sym = if (builtin.os.tag == .linux and builtin.link_libc) |
| ... | ... | @@ -6132,7 +6132,7 @@ pub fn setrlimit(resource: rlimit_resource, limits: rlimit) SetrlimitError!void |
| 6132 | 6132 | switch (errno(setrlimit_sym(resource, &limits))) { |
| 6133 | 6133 | 0 => return, |
| 6134 | 6134 | EFAULT => unreachable, // bogus pointer |
| 6135 | | EINVAL => unreachable, |
| 6135 | EINVAL => return error.LimitTooBig, // this could also mean "invalid resource", but that would be unreachable |
| 6136 | 6136 | EPERM => return error.PermissionDenied, |
| 6137 | 6137 | else => |err| return unexpectedErrno(err), |
| 6138 | 6138 | } |