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

  man pages->HP-UX 11i man pages -> mlockall (2)              
Title
Content
Arch
Section
 

Contents


 mlockall(2)                                                     mlockall(2)




 NAME    [Toc]    [Back]
      mlockall() - lock a process virtual address space in memory

 SYNOPSIS    [Toc]    [Back]
      #include <sys/mman.h>

      int mlockall( constant int flags);

 DESCRIPTION    [Toc]    [Back]
      The mlockall() system call allows the calling process to lock its
      entire virtual address space into memory, making it immune to all
      routine swapping.

      flags may be one or both of the following:

           MCL_CURRENT         Lock the current process virtual address
                               space.  All addressable pages of the address
                               space are locked.

           MCL_FUTURE          Lock any future additions to the process
                               virtual address space.

      Note that MCL_FUTURE does not imply MCL_CURRENT.

      munlockall() or munlock() can be used to unlock all or a portion of
      the address space locked with mlockall().  A single call to
      munlockall() removes all locks from the process virtual address space.
      An munlock() call results in only the specified pages being unlocked.

      Regardless of how many times a process locks a page, a single
      munlock() or 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.

      Locks and MCL_FUTURE applied with mlockall() are not inherited by a
      child process.

      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    [Toc]    [Back]
      mlockall() returns the following values:





 Hewlett-Packard Company            - 1 -   HP-UX 11i Version 2: August 2003






 mlockall(2)                                                     mlockall(2)




            0   Successful completion.
           -1   Failure.  The requested operation is not performed.  errno
                is set to indicate the error.

 ERRORS    [Toc]    [Back]
      If mlockall() fails, errno is set to one of the following values:

           [EINVAL]       The flags field did not contain either MCL_CURRENT
                          and/or MCL_FUTURE.

           [EAGAIN]       There is not enough lockable memory in the system
                          to satisfy the locking request.

           [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    [Toc]    [Back]
      The following call to mlockall() locks the entire process virtual
      address space in memory and ensures that any future additions to the
      address space will also be locked in memory:

           mlockall( (MCL_CURRENT | MCL_FUTURE) );

 SEE ALSO    [Toc]    [Back]
      setprivgrp(1M), getprivgrp(2), mlock(2), munlock(2), munlockall(2),
      plock(2).

 STANDARDS CONFORMANCE    [Toc]    [Back]
      mlockall(): POSIX Realtime Extensions, IEEE Std 1003.1b


 Hewlett-Packard Company            - 2 -   HP-UX 11i Version 2: August 2003
[ Back ]
      
      
 Similar pages
Name OS Title
mlock HP-UX lock a segment of the process virtual address space in memory
vm_map FreeBSD virtual address space portion of virtual memory subsystem
mlockall OpenBSD lock (unlock) the address space of a process
munlockall FreeBSD lock (unlock) the address space of a process
mlockall FreeBSD lock (unlock) the address space of a process
munlockall NetBSD lock (unlock) the address space of a process
munlockall OpenBSD lock (unlock) the address space of a process
mlockall NetBSD lock (unlock) the address space of a process
munlockall HP-UX unlock the entire virtual address space of a process
munlock HP-UX unlock a segment of the process virtual address space
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service