flockfile()

Получить право владения файлом

Прототип:

#include <stdio.h>
void flockfile( FILE *file );

Аргументы:

file
Указатель на объект FILE для файла, над которым необходимо получить право владения.

Библиотека:

libc

Описание:

Функция flockfile() обеспечивает явное получение права владения объектом stdio (FILE) на уровне приложения. Эта функция может использоваться потоком для определения последовательности операторов ввода/вывода, которые должны выполняться как единое целое.

Функция flockfile() используется потоком для получения права владения над FILE.

Процесс реализован таким образом, как будто с каждым FILE связан счетчик блокировок. Этот счетчик неявно инициализируется нулем при создании FILE. Объект FILE разблокирован, когда счетчик равен нулю. Когда счетчик больше нуля, один из потоков владеет FILE. Когда вызывается функция flockfile(), если счетчик равен нулю или больше нуля, и вызывающий процесс владеет FILE, счетчик увеличивается. В ином случае вызывающий поток приостанавливается, ожидая пока значение счетчика не станет равным нулю.

Классификация:

POSIX 1003.1 Thread-Safe Functions

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

getc_unlocked(), getchar_unlocked(), putc_unlocked(), putchar_unlocked()




Предыдущий раздел: Описание API системной библиотеки