Seth Woolley's Man Viewer

munlock(2) - munlock, munlock - reenable paging for some parts of memory - man 2 munlock

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

MUNLOCK(2)                 Linux Programmer's Manual                MUNLOCK(2)

       munlock - reenable paging for some parts of memory

       #include <sys/mman.h>

       int munlock(const void *addr, size_t len);

       munlock  reenables  paging for the memory in(1,8) the range starting at addr
       with length len bytes. All pages which contain a part of the  specified
       memory  range can after calling munlock be moved to external swap space
       again by the kernel.

       Memory locks do not stack, i.e., pages which have been  locked  several
       times  by  calls to mlock or mlockall will be unlocked by a single call
       to munlock for the corresponding range or by munlockall.   Pages  which
       are  mapped  to  several  locations or by several processes stay locked
       into RAM as long as they are locked at least at one location or  by  at
       least one process.

       On  POSIX systems on which mlock and munlock are available, _POSIX_MEM-
       LOCK_RANGE is defined in(1,8) <unistd.h> and the value PAGESIZE  from  <lim-
       its.h> indicates the number of bytes per page.

       On  success,  munlock returns zero.  On error(8,n), -1 is returned, errno is
       set(7,n,1 builtins) appropriately, and no changes are made to any locks in(1,8) the  address
       space of the process.

       EINVAL (Not on Linux) addr was not a multiple of the page size.

       ENOMEM Some  of  the  specified  address  range  does not correspond to
              mapped pages in(1,8) the address space of the process.

       Linux adds

       EINVAL len was negative.

       POSIX.1b, SVr4

       mlock(2), mlockall(2), munlockall(2)

Linux 2.4                         2003-08-21                        MUNLOCK(2)

References for this manual (incoming links)