PLOCK(3C)PLOCK(3C)NAMEplock - 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 argu‐
ment 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 ALSOexec(2), exit(2), fork(2), memcntl(2), mlock(3C), mlockall(3C),
attributes(5)
Mar 22, 2004 PLOCK(3C)