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

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

Contents


 plock(2)                                                           plock(2)




 NAME    [Toc]    [Back]
      plock() - lock process, text, data, stack, or shared library in memory

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

      int plock(int op);

 DESCRIPTION    [Toc]    [Back]
      The plock() system call allows the calling process to lock the text
      segment of the process (text lock), its data segment (data lock), or
      both its text and data segment (process lock) into memory.  Stack
      segments are also locked when data segments are locked.  Shared
      library text and shared library data segments (shlib lock) can also be
      locked.  Locked segments are immune to all routine swapping.  plock()
      also allows these segments to be unlocked.

      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)).

      op must be one of the following:

           PROCLOCK            Lock text and data segments into memory
                               (process lock)

           TXTLOCK             Lock text segment into memory (text lock)

           DATLOCK             Lock data segment into memory (data lock)

           UNLOCK              Remove locks

           SHLIBLOCK           Lock shared library text and shared library
                               data segments (shared library lock)

           PROCSHLIBLOCK       Lock text, data and shared library text and
                               shared library data segments into memory
                               (process and shared library lock)

           TXTSHLIBLOCK        Lock text, shared library text and shared
                               library data segments into memory (text and
                               shared library lock)

           DATSHLIBLOCK        Lock data, shared library text and shared
                               library data segments into memory (data and
                               shared library lock)

           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.




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






 plock(2)                                                           plock(2)




 RETURN VALUE    [Toc]    [Back]
      plock() returns the following values:

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

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

           [EINVAL]       op is equal to PROCLOCK and a process lock, a text
                          lock, or a data lock already exists on the calling
                          process.

           [EINVAL]       op is equal to TXTLOCK and a text lock or process
                          lock already exists on the calling process.

           [EINVAL]       op is equal to DATLOCK and a data lock, or process
                          lock already exists on the calling process.

           [EINVAL]       op is equal to UNLOCK and no type of lock exists
                          on the calling process.

           [EINVAL]       op is equal to SHLIBLOCK and there are no unlocked
                          shared library segments in the calling process.

           [EINVAL]       op is equal to PROCSHLIBLOCK and a process lock, a
                          text lock, or a data lock already exists on the
                          calling process.

           [EINVAL]       op is equal to TXTSHLIBLOCK and a text lock or
                          process lock already exists on the calling
                          process.

           [EINVAL]       op is equal to DATSHLIBLOCK and a data lock, or
                          process lock already exists on the calling
                          process.

           [EINVAL]       op is not equal to one of the values specified in
                          DESCRIPTION.

           [EINVAL]       plock() is not allowed in a [vfork,exec] window.
                          See vfork(2).

           [ENOMEM]       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.




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






 plock(2)                                                           plock(2)




 EXAMPLES    [Toc]    [Back]
      The following call to plock() locks the calling process in memory:

           plock(PROCLOCK);

 SEE ALSO    [Toc]    [Back]
      setprivgrp(1M), exec(2), exit(2), fork(2), getprivgrp(2), mlock(2),
      vfork(2).

 STANDARDS CONFORMANCE    [Toc]    [Back]
      plock(): SVID2, SVID3, XPG2


 Hewlett-Packard Company            - 3 -   HP-UX 11i Version 2: August 2003
[ Back ]
      
      
 Similar pages
Name OS Title
plock Tru64 Lock the text and/or data segments of a process in memory
plock IRIX lock into memory or unlock process, text, or data
mlockall HP-UX lock a process virtual address space in memory
mlock HP-UX lock a segment of the process virtual address space in memory
shmseg HP-UX maximum number of System V shared memory segments per process
core_addshmem_read HP-UX determines the inclusion of readable shared memory in a process core dump
core_addshmem_write HP-UX determines the inclusion of read/write shared memory in process core dump
nshmget Tru64 Returns (or creates) the ID for a shared memory region (libnuma library)
shm_open FreeBSD open or create a shared memory object shm_unlink -- remove a shared memory object
SX_SYSINIT FreeBSD kernel shared/exclusive lock
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service