[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    plock(3C) manual page Table of Contents

Name

plock - lock or unlock into memory process, text, or data

Synopsis

#include <sys/lock.h>

int plock(int op);

Description

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.

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.

Errors

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.

See Also

exec(2) , exit(2) , fork(2) , memcntl(2) , mlock(3C) , mlockall(3C)

Notes

mlock(3C) and mlockall(3C) are the preferred interfaces to process locking.


Table of Contents