PLOCK(3)

NAME
plock - lock process, text, or data segment in memory

SYNOPSIS

#include <sys/lock.h>

int plock(op)
int op;

DESCRIPTION

plock() 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 all routine swapping. plock() also allows these segments to be unlocked. The effective user ID of the calling process must be super-user to use this call. op 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

plock() returns:

0   on success.

-1  on failure and sets errno to indicate the error.

ERRORS

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.

    op is equal to TXTLOCK and a text lock, or a process lock already exists on the calling process.

    op is equal to DATLOCK and a data lock, or a process lock already exists on the calling process.

    op is equal to UNLOCK and no type of lock exists on the calling process.

EPERM
    The effective user ID of the calling process is not super-user.

SEE ALSO
execve(2V), exit(2V), fork(2V)