14.2.2. Блокировка POSIX: fcntl() и lockf()

We use cookies. Read the Privacy and Cookie Policy

14.2.2. Блокировка POSIX: fcntl() и lockf()

Системный вызов fcntl() (file control — управление файлом) используется для блокировки файла. (Другое использование fcntl() было описано в разделе 9.4.3 «Управление атрибутами файла: fcntl()».) Он объявлен следующим образом:

#include <unistd.h> /* POSIX */

#include <fcntl.h>

int fcntl(int fd, int cmd); /* Not relevant for file locking */

int fcntl(int fd, int cmd, long arg); /* Not relevant for file locking */

int fcntl(int fd, int cmd, struct flock *lock);

Аргументы следующие:

fd Дескриптор файла для открытого файла.

cmd Одна или более именованных констант, определенных в <fcntl.h>. Ниже они описаны более подробно.

lock Указатель на struct flock, описывающую нужный блок.