pub fn unlockMemory(memory: []align(std.heap.page_size_min) const u8) UnlockMemoryError!void memory: []align(std.heap.page_size_min) const u81002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012pub fn unlockMemory(memory: []align(std.heap.page_size_min) const u8) UnlockMemoryError!void {
if (@TypeOf(posix.system.munlock) == void) return;
switch (posix.errno(posix.system.munlock(memory.ptr, memory.len))) {
.SUCCESS => return,
.INVAL => |err| return std.Io.Threaded.errnoBug(err), // unaligned or runs off end of addr space
.PERM => return error.PermissionDenied,
.NOMEM => return error.OutOfMemory,
.AGAIN => return error.SystemResources,
else => |err| return posix.unexpectedErrno(err),
}
}
Withdraw request for process's virtual address space to be in RAM.
Corresponds to "munlock" in libc.
See also:
lockMemory