Документация по LinuxLinuxDoc.Ru 🔍

lockf - проверяет, устанавливает POSIX-блокировку на открытом файле или снимает ее с файла

НАЗВАНИЕ
lockf - проверяет, устанавливает POSIX-блокировку на
открытом файле или снимает ее с файла

СИНТАКСИС

#include

int lockf(int fd, int cmd, off_t len);

ОПИСАНИЕ
Устанавливает POSIX-блокировку на открытом файле,
проверяет ее наличие или снимает ее с файла. Файл
определяется параметром fd. Данная функция - всего лишь
более удобный способ вызова fcntl(2). Список существующих
операций приведен ниже:


F_LOCK (устанавливает блокировку на файле.
Только один процесс может блокировать
данный файл в текущий момент времени.
Если файл уже блокирован, то он будет
блокирован позже, когда будет снята
предыдущая блокировка.);

F_TLOCK (то же самое, что и F_LOCK, но не
блокирует файл, а возвращает сообщение об
ошибке, если файл уже заблокирован в
данный момент);

F_ULOCK (снимает блокировку с файла);

F_TEST (проверяет наличие блокировки: возвращает
0, если fd не блокирован или заблокирован
данным (текущим) процессом; возвращается
-1; значение errno меняется на EACCES,
если файл занят другим процессом);


ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При нормальном завершении работы возвращается ноль. При
ошибках возвращается -1 и переменная errno изменяется
соответственно ошибке.

КОДЫ ОШИБОК
EAGAIN (файл блокирован и установлен флаг LOCK_NB , или
операция запрещается, поскольку файл отражен в
память другим процессом);

EBADF (fd не является описателем открытого файла);

EDEADLK
(выполнение операции блокирования должно привести к
зависанию программы);

EINVAL (в fd была указана неправильная операция);

ENOLCK (открыто слишком много сегментов для блокировки,
таблица блокировок переполнена).

СООТВЕТСТВИЕ СТАНДАРТАМ
SYSV
Читать новости Linux в Telegram
Linux - lockf - проверяет, устанавливает POSIX-блокировку на открытом файле или снимает ее с файла
Мы в соцсетях ✉