munlock(2)munlock(2)NAMEmunlock() - unlock a segment of the process virtual address space
SYNOPSISDESCRIPTION
The system call allows the calling process to unlock a segment of the
process virtual address space that may have been previously locked with
or Upon successful completion of the pages within the specified segment
are subject to routine paging and/or swapping.
addr must be a valid address in the process virtual address space.
addr+len must also be a valid address in the process virtual address
space.
Pages are unlocked at page boundaries that encompass the range from
addr to addr+len. If any address within the range is not a valid part
of the process virtual address space, an error is returned and no
unlocks are performed. However, no error is reported for valid pages
within the range that are not already locked, since their state at the
completion of the call is as desired.
Regardless of how many times a process locks a page, a single or will
unlock it. An of a page within a range specified in an call results in
only the range specified in the being unlocked.
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 that of a user
with the privilege.
Although and the family of functions may be used together in an appli‐
cation, each may affect the other in unexpected ways. This practice is
not recommended.
Security Restrictions
Some or all of the actions associated with this system call require the
privilege. Processes owned by the superuser have this privilege. Pro‐
cesses owned by other users may have this privilege, depending on sys‐
tem configuration. See privileges(5) for more information about privi‐
leged access on systems that support fine-grained privileges.
RETURN VALUE
returns the following values:
Successful completion.
Failure.
The requested operation is not performed. is set to
indicate the error.
ERRORS
If fails, is set to one of the following values:
One or more addresses in the specified range is not valid within
the process address space.
The parameter was zero.
The effective user ID of the calling process
is not that of a user with the privilege.
EXAMPLES
The following call to unlocks the first 10 pages of the calling process
address space:
SEE ALSOsetprivgrp(1M), getprivgrp(2), mlock(2), mlockall(2), munlockall(2),
plock(2), privileges(5).
STANDARDS CONFORMANCEmunlock(2)