plock(3C) manual page
Table of Contents
plock - lock or unlock into memory process, text, or data
#include <sys/lock.h>
int plock(int op);
plock() 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. plock()
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.
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.
plock() fails and does not perform the
requested operation if one or more of the following are true:
- EAGAIN
- Not
enough memory.
- 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 a process lock already exists on the
calling process.
- EINVAL
- op is equal to DATLOCK and a data lock, or a process
lock already exists on the calling process.
- EINVAL
- op is equal to UNLOCK
and no lock exists on the calling process.
- EPERM
- The effective user of
the calling process is not super-user.
exec(2)
, exit(2)
, fork(2)
,
memcntl(2)
, mlock(3C)
, mlockall(3C)
mlock(3C)
and mlockall(3C)
are
the preferred interfaces to process locking.
Table of Contents