PLOCK(2)
НАЗВАНИЕ
plock - удержание процесса в памяти
СИНТАКСИС
#include <sys/lock.h>
int plock (op)
int op;
ОПИСАНИЕ
Системный вызов plock позволяет вызвавшему его процессу
удержать в памяти сегмент команд, данных, или оба сегмента. После этого указанные сегменты не вытесняются из
памяти при подкачке страниц, принадлежащих другим процессам. Посредством plock можно также отменить удержание сегментов в памяти. У процесса, вызывающего plock,
действующий идентификатор пользователя должен быть
идентификатором суперпользователя. Аргумент op задает
требуемые действия:
PROCLOCK Удерживать в памяти сегменты команд и данных.
TXTLOCK Удерживать в памяти сегмент команд.
DATLOCK Удерживать в памяти сегмент данных.
UNLOCK Отменить удержание.
Указанное действие не выполняется и системный вызов
plock завершается неудачей, если выполнено хотя бы одно
из следующих условий:
- [EPERM]
- Соответствующий процессу действующий идентификатор пользователя не является идентификатором суперпользователя.
- [EINVAL]
- Аргумент op равен PROCLOCK, однако по крайней мере один сегмент процесса уже удерживается в памяти.
- [EINVAL]
- Аргумент op равен TXTLOCK, однако сегмент
команд (или весь процесс) уже удерживается
в памяти.
- [EINVAL]
- Аргумент op равен DATLOCK, однако сегмент
данных (или весь процесс) уже удерживается
в памяти.
- [EINVAL]
- Аргумент op равен UNLOCK, но ни один сегмент процесса не удерживается в памяти.
- [EAGAIN]
- Памяти недостаточно.
СМ. ТАКЖЕ
exec(2), exit(2), fork(2).
ДИАГНОСТИКА
При успешном завершении результат равен 0; в случае
ошибки возвращается -1, а переменной errno присваивается код ошибки.