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

March 22, 2004 PLOCK(3C)