United States-English |
|
|
HP-UX Reference > Mmunlock(2)HP-UX 11i Version 3: February 2007 |
|
NAMEmunlock() — unlock a segment of the process virtual address space DESCRIPTIONThe munlock() system call allows the calling process to unlock a segment of the process virtual address space that may have been previously locked with mlock() or mlockall(). Upon successful completion of the munlock(), 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 munlock() call is as desired. Regardless of how many times a process locks a page, a single munlock() or munlockall() will unlock it. An munlock() of a page within a range specified in an mlock() call results in only the range specified in the munlock() 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 MLOCK privilege. 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. Security RestrictionsSome or all of the actions associated with this system call require the MLOCK privilege. Processes owned by the superuser have this privilege. Processes owned by other users may have this privilege, depending on system configuration. See privileges(5) for more information about privileged access on systems that support fine-grained privileges. RETURN VALUEmunlock() returns the following values:
ERRORSIf munlock() fails, errno is set to one of the following values:
EXAMPLESThe following call to munlock() unlocks the first 10 pages of the calling process address space: munlock(sbrk(0), 40960); SEE ALSOsetprivgrp(1M), getprivgrp(2), mlock(2), mlockall(2), munlockall(2), plock(2), privileges(5). |
Printable version | ||
|