pub fn mlock(address: NonNull<u8>, length: usize) -> Result<(), Errno>Expand description
Verrouille une plage mémoire en RAM (empêche le swap).
Wrappeur de mlock(2). Nécessite soit des privilèges root, soit
une limite RLIMIT_MEMLOCK suffisante.
§Errors
ENOMEM: la plage contient des pages non mappées, ouRLIMIT_MEMLOCKserait dépassé.EPERM:RLIMIT_MEMLOCKest zéro et le processus n’est pas privilégié.EINVAL: adresse ou longueur invalide.
§Examples
use air_sys_syscall::mem::{mlock, mmap_anonymous};
use air_sys_types::mem::{MapFlags, ProtectionFlags};
use core::ptr::NonNull;
let m = mmap_anonymous(4096, ProtectionFlags::READ | ProtectionFlags::WRITE, MapFlags::PRIVATE)
.expect("mmap");
mlock(NonNull::new(m.as_ptr() as *mut u8).expect("non-null"), 4096)
.expect("mlock");