(pid: Option<Pid>, limit: Resource, new: Rlimit)
| 230 | |
| 231 | #[inline] |
| 232 | pub(crate) fn prlimit(pid: Option<Pid>, limit: Resource, new: Rlimit) -> io::Result<Rlimit> { |
| 233 | let lim = rlimit_to_linux(new); |
| 234 | let mut result = MaybeUninit::<rlimit64>::uninit(); |
| 235 | unsafe { |
| 236 | match ret(syscall!( |
| 237 | __NR_prlimit64, |
| 238 | c_int(Pid::as_raw(pid)), |
| 239 | limit, |
| 240 | by_ref(&lim), |
| 241 | &mut result |
| 242 | )) { |
| 243 | Ok(()) => Ok(rlimit_from_linux(result.assume_init())), |
| 244 | Err(err) => Err(err), |
| 245 | } |
| 246 | } |
| 247 | } |
| 248 | |
| 249 | /// Convert a C `rlimit64` to a Rust `Rlimit`. |
| 250 | #[inline] |
nothing calls this directly
no test coverage detected