Операционная система UNIX. Руководство программиста

     

Открытие файлов для блокировки сегментов


Первое требование для блокировки файла или сегмента файла состоит в том, чтобы иметь корректный дескриптор файла. Если будет устанавливаться блокировка на чтение, файл должен быть открыт как минимум на чтение. Соответственно, для блокировки на запись необходим доступ на запись. В следующем примере файл открывается как на чтение, так и на запись.

#include <stdio.h> #include <errno.h> #include <fcntl.h>

int fd; /* дескриптор файла */ char *filename;

main (argc, argv) int argc; char *argv []; { extern void exit (), perror ();

/* Получение имени файла базы данных из командной строки и открытие файла на чтение и запись. */

if (argc < 2) { (void) fprintf (stderr, "Usage: %s file\n", argv[0]); exit (2); } filename = argv [1]; fd = open (filename, O_RDWR); if (fd < 0) { perror (filename); exit (2); } . . .

Теперь файл открыт для выполнения как блокировок, так и функций ввода-вывода. Попробуем теперь установить блокировку.



Содержание раздела