plock(2)plock(2)NAMEplock() - lock process, text, data, stack, or shared library in memory
SYNOPSISDESCRIPTION
The system call allows the calling process to lock the text segment of
the process (text lock), its data segment (data lock), or both its text
and data segment (process lock) into memory. Stack segments are also
locked when data segments are locked. Shared library text and shared
library data segments (shlib lock) can also be locked. Locked segments
are immune to all routine swapping. also allows these segments to be
unlocked.
The effective user ID of the calling process must be a user with the
privilege.
op must be one of the following:
Lock text and data segments into memory (process lock)
Lock text segment into memory (text lock)
Lock data segment into memory (data lock)
Remove locks
Lock shared library text and shared library data segments
(shared library lock)
Lock text, data and shared library text and shared library data
segments
into memory (process and shared library
lock)
Lock text, shared library text and shared library data segments
into memory
(text and shared library lock)
Lock data, shared library text and shared library data segments
into memory
(data and shared library lock)
Although and the family of functions may be used together in an
application, each may affect the other in unexpected ways. This
practice is not recommended.
Security Restrictions
Some or all of the actions associated with this system call require the
privilege. Processes owned by the superuser have this privilege. Pro‐
cesses owned by other users may have this privilege, depending on sys‐
tem configuration. See privileges(5) for more information about privi‐
leged access on systems that support fine-grained privileges.
RETURN VALUE
returns the following values:
Successful completion.
Failure.
The requested operation is not performed. is set to
indicate the error.
ERRORS
If fails, is set to one of the following values.
op is equal to and a process lock, a text lock, or a
data lock already exists on the calling process.
op is equal to and a text lock or process lock
already exists on the calling process.
op is equal to and a data lock, or process lock
already exists on the calling process.
op is equal to and no type of lock exists on the
calling process.
op is equal to and there are no unlocked shared
library segments in the calling process.
op is equal to and a process lock, a text lock, or a
data lock already exists on the calling process.
op is equal to and a text lock or process lock
already exists on the calling process.
op is equal to and a data lock, or process lock
already exists on the calling process.
op is not equal to one of the values specified in
is not allowed in a
window. See vfork(2).
There is not enough lockable memory in the system
to satisfy the locking request.
The effective user ID of the calling process
is not a user with the privilege.
EXAMPLES
The following call to locks the calling process in memory:
SEE ALSOsetprivgrp(1M), exec(2), exit(2), fork(2), getprivgrp(2), mlock(2),
vfork(2), privileges(5).
STANDARDS CONFORMANCEplock(2)