plock(2) [ultrix 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)
Check Out this Related Man Page
plock(3C) Standard C Library Functions plock(3C) NAME
plock - lock or unlock into memory process, text, or data SYNOPSIS
#include <sys/lock.h> int plock(int op); DESCRIPTION
The plock() function allows the calling process to lock or unlock into memory its text segment (text lock), its data segment (data lock), or both its text and data segments (process lock). Locked segments are immune to all routine swapping. The effective user ID of the calling process must be super-user to use this call. The plock() function performs the function specified by op: 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, 0 is returned. Otherwise, -1 is returned and errno is set to indicate the error. ERRORS
The plock() function fails and does not perform the requested operation if: EAGAIN Not enough memory. 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; the op argument is equal to TXTLOCK and a text lock or a process lock already exists on the calling process; the op argument is equal to DATLOCK and a data lock or a process lock already exists on the calling process; or the op argument is equal to UNLOCK and no lock exists on the calling process. EPERM The {PRIV_PROC_LOCK_MEMORY} privilege is not asserted in the effective set of the calling process. USAGE
The mlock(3C) and mlockall(3C) functions are the preferred interfaces for process locking. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
exec(2), exit(2), fork(2), memcntl(2), mlock(3C), mlockall(3C), attributes(5) SunOS 5.10 22 Mar 2004 plock(3C)