*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> mlock (3)              
Title
Content
Arch
Section
 

mlock(3)

Contents


NAME    [Toc]    [Back]

       mlock,  munlock  -  Locks or unlocks a specified region in
       memory (P1003.1b)

SYNOPSIS    [Toc]    [Back]

       #include <sys/mman.h>

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

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


LIBRARY    [Toc]    [Back]

       Realtime Library (librt.so, librt.a)

PARAMETERS    [Toc]    [Back]

       A pointer to the starting address of the region to lock or
       unlock.  The  addr argument must be a multiple of the page
       size returned by the sysconf system call.  The size of the
       memory  region  to  lock  or  unlock.  The value of len is
       rounded up to a multiple of the page  size  before  decrementing
 by 1.

DESCRIPTION    [Toc]    [Back]

       The  mlock  and  munlock  functions  lock and unlock whole
       pages containing any part of  the  process  address  space
       starting at addr and continuing for len bytes.

       The  mlock  function  guarantees all whole pages mapped by
       the range addr to addr+len-1 (inclusive) to be memory resident.
  (The  area locked is the same  as if the len argument
 were rounded up to a multiple of the page size before
       decrementing by 1.)

       The  locked area remains locked until unlocked with a call
       to the munlock function, until the process calls the  exec
       function,  until an address space associated with the lock
       is unmapped, or until the process terminates.  A  lock  is
       not inherited across a fork or an exec.

       The  mlock  function unlocks whole pages previously mapped
       by the range addr to addr+len-1 (inclusive), regardless of
       how  many  times the mlock function was called by the process
 for any pages within the specified range.

       A call to the munlock function does not affect pages  that
       may  be  mapped  into  another  process's address space or
       locked by another process.

       You must have superuser privileges to call  the  mlock  or
       munlock  functions.

RETURN VALUES    [Toc]    [Back]

       On  a  successful call to the mlock function, a value of 0
       (zero) is returned and the region becomes locked and  memory
  resident.   On an unsuccessful call, a value of -1 is
       returned, no changes are made to any locks in the  process
       address  space, and errno is set to indicate that an error
       occurred.

       On a successful call to the munlock function, a value of 0
       (zero) is returned and the memory is unlocked with respect
       to the process's address space. On an unsuccessful call, a
       value  of  -1 is returned, none of the memory is unlocked,
       and errno is set to indicate that an error occurred.

ERRORS    [Toc]    [Back]

       The mlock and munlock functions fail under  the  following
       conditions:  The  addr  argument  is not a multiple of the
       page size returned by sysconf.  Some or all of the address
       range  specified  by  the  addr and len arguments does not
       correspond to valid mapped pages in the process's  address
       space. For the mlock function, locking the pages mapped by
       the specified range would exceed an implementation-defined
       limit on the amount of memory that the process may lock.

       If  any of the following conditions occur, the mlock function
 fails: Some or all of the memory  identified  by  the
       operation could not be locked when the call was made.  The
       calling process does not have the  appropriate  privileges
       to perform the requested operation.

SEE ALSO    [Toc]    [Back]

      
      
       Functions:    exec(2),   _exit(2),   fork(2),   munmap(2),
       sysconf(3)

       Guide to Realtime Programming



                                                         mlock(3)
[ Back ]
 Similar pages
Name OS Title
mlockall Tru64 Locks into memory, or unlocks, all of a specified process's pages (P1003.1b)
munlockall Tru64 Locks into memory, or unlocks, all of a specified process's pages (P1003.1b)
sem_post Tru64 Unlocks a semaphore (P1003.1b)
shmid_ds Tru64 Defines a shared memory region
mvalid Tru64 Check memory region for validity
shmat Tru64 Attach a shared memory region
shmdt Tru64 Detach a shared memory region
mprotect Linux control allowable accesses to a region of memory
vm_map_protect FreeBSD apply protection bits to a virtual memory region
shmget Tru64 Return (and possibly create) the ID for a shared memory region
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service