munlockall() - unlock the entire virtual address space of a process
int munlockall() ;
The munlockall() system call allows the calling process to unlock any
portions of its virtual address space that have previously been locked
into memory with mlock() or mlockall(), including any portions locked
due to the MCL_FUTURE option of mlockall(). Upon successful
completion of the munlockall(), all pages within the process virtual
address space are subject to routine paging and/or swapping and the
MCL_FUTURE option will no longer be in effect for the process.
Regardless of how many times a process locks a page, a single
munlockall() will unlock it. When memory is shared by multiple
processes and mlocks are applied to the same physical page by multiple
processes, a page remains locked until the last lock is removed from
The effective user ID of the calling process must be a superuser or
the user must be a member of a group that has the MLOCK privilege (see
getprivgrp(2) and setprivgrp(1M)).
Although plock() and the mlock() family of functions may be used
together in an application, each may affect the other in unexpected
ways. This practice is not recommended.
munlockall() returns the following values:
0 Successful completion.
-1 Failure. The requested operation is not performed. errno
is set to indicate the error.
If munlockall() fails, errno is set to the following value:
[EPERM] The effective user ID of the calling process is
not a superuser and the user does not belong to a
group that has the MLOCK privilege.
The following call to munlockall() unlocks the process virtual address
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
setprivgrp(1M), getprivgrp(2), mlock(2), mlockall(2), munlock(2),
munlockall(): POSIX Realtime Extensions, IEEE Std 1003.1b
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000