HP-UX Reference (11i v2 03/08) - 2 System Calls (vol 5)
m
munlockall(2) munlockall(2)
NAME
munlockall() - unlock the entire virtual address space of a process
SYNOPSIS
#include <sys/mman.h>
int munlockall() ;
DESCRIPTION
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 por-
tions locked due to the
MCL_FUTURE option of
mlockall(). Upon successful completion of the mun-
lockall(), 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 that page.
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.
RETURN VALUE
munlockall() returns the following values:
0 Successful completion.
-1 Failure. The requested operation is not performed. errno is set to indicate the error.
ERRORS
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.
EXAMPLES
The following call to
munlockall() unlocks the process virtual address space:
munlockall();
SEE ALSO
setprivgrp(1M), getprivgrp(2), mlock(2), mlockall(2), munlock(2), plock(2).
STANDARDS CONFORMANCE
munlockall(): POSIX Realtime Extensions, IEEE Std 1003.1b
HP-UX 11i Version 2: August 2003 − 1 − Hewlett-Packard Company Section 2−−199