Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

plock(2) [osf1 man page]

plock(2)							System Calls Manual							  plock(2)

NAME
plock - Locks a process' text and/or data segments in memory SYNOPSIS
#include <sys/lock.h> int plock( int opr) ; PARAMETERS
Specifies one of the following operations: Locks the text and data segments into memory. Locks the text segment into memory. Locks the data segment into memory. Removes locks. DESCRIPTION
The plock() function locks or unlocks a process' text segments, data segments, or both in physical memory. When locked, the physical pages containing the text or data segment will not be paged out. It is an error to lock a segment that is already locked. The caller must have superuser privilege to use the plock() function. Note that memory acquired subsequent to a plock() function may or may not be locked in memory, depending on the specific acquisition method. Memory acquired using the brk() function (or the sbrk() function) is locked if the data segment was locked. Memory acquired via the mmap() or vm_allocate() functions will not be locked. RETURN VALUES
Upon successful completion, a value of 0 (zero) is returned to the calling process. Otherwise, a value of -1 is returned and errno is set to indicate the error. ERRORS
If the plock() function fails, errno may be set to one of the following values: The caller does not have appropriate privilege. There are insufficient resources to perform the operation. The opr parameter is PROCLOCK, but the text segment or the data segment is already locked. The opr parameter is TXTLOCK, but the text segment is already locked. The opr parameter is DATLOCK, but the data segment is already locked. The opr parameter is UNLOCK, but neither the text segment nor the data segment is locked. RELATED INFORMATION
Functions: brk(2), mmap(2) delim off plock(2)

Check Out this Related Man Page

plock(2)							System Calls Manual							  plock(2)

Name
       plock - lock or unlock process, text, or data in memory

Syntax
       #include <sys/lock.h>

       int plock (op)
       int op;

Description
       The  call allows the calling process to lock its text segment (text lock), its data segment (data lock), or both its text and data segments
       (process lock) into memory.  Locked segments are immune to page outs, and the process is immune to swap outs.  The call also unlocks  these
       segments.

       The op argument specifies 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

Return Values
       Upon  successful  completion,  a  value of 0 is returned to the calling process.  Otherwise, a value of -1 is returned, and errno is set to
       indicate the error.

Diagnostics
       The call fails under the following conditions:

       [EPERM]	      The effective user ID of the calling process is not superuser.

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

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

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

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

Restrictions
       The effective user ID of the calling process must be superuser to use this call.

       Both PROCLOCK and TXTLOCK lock the text segment of a process, and a locked text segment is locked for all sharing processes.

       Because the effective user ID of the calling process is superuser, take care not to lock more virtual pages than can be contained in physi-
       cal memory.  A deadlock can result.

See Also
       execve(2), exit(2), fork(2), shmctl(2)

																	  plock(2)

Featured Tech Videos