Вопросы по теме 'fcntl'

Блокировка чтения/записи файлов и отвязка
У меня следующая проблема. Я хочу создать хранилище сеансов на основе файловой системы, где данные каждого сеанса хранятся в простом файле с именем с идентификаторами сеанса. Мне нужен следующий API: write(sid,data,timeout) ,...
1588 просмотров
schedule 02.07.2022

несколько труб в C
Я пытаюсь реализовать несколько каналов в C, решение должно быть для: cmd1 | cmd2 | cmd3 и для: |--- cmd2 cmd1 |--- cmd3 |--- cmd4 #include <stdio.h> #include <stdlib.h> #include <unistd.h>...
1256 просмотров
schedule 16.07.2023

В каком порядке система POSIX снимает блокировки файлов, которые не были полностью разблокированы?
В спецификации POSIX для fcntl() указано: Все блокировки, связанные с файлом для данного процесса, должны быть удалены, когда дескриптор файла для этого файла закрывается этим процессом или завершается процесс, удерживающий этот дескриптор...
297 просмотров
schedule 02.11.2022

Можно ли (и безопасно) сделать принимающий сокет неблокирующим?
Я ищу способ прервать вызов accept() блокирующего сокета. Использование сигналов не вариант, так как это должно быть в библиотеке, и я не хочу загромождать пользовательские сигналы. Использование select() - еще один вариант, но по разным...
28513 просмотров
schedule 15.05.2022

Python lockf и поведение стаи
Я прочитал достаточно сообщений в stackoverflow о разнице ч/б flock/lockf/fcntl , но я не могу ответить на следующее наблюдение: >>> import fcntl >>> a = open('/tmp/locktest', 'w') >>> b = open('/tmp/locktest', 'w')...
13184 просмотров
schedule 13.08.2022

c - Использование F_GETFL и F_SETFL
При попытке использовать fcntl() с командами F_GETFL и F_SETFL у меня возникли вопросы: Почему флаг, возвращаемый fcntl(fd, F_GETFL) , включает только подмножество битов, которые я установил при открытии файла? Он показывает только те,...
16507 просмотров
schedule 13.09.2023

Что произойдет, если я заблокирую файл, расположенный в удаленном хранилище, через fcntl?
Мне просто интересно. У меня есть два процесса на двух разных серверах. Эти процессы записывают информацию в один и тот же файл и используют блокировку через fcntl для синхронизации. Что произойдет, если один из процессов будет прерван и ему...
463 просмотров
schedule 25.12.2022

Блокировка файлов в Python с помощью fcntl
Я пытаюсь определить функции для облегчения блокировки файлов с помощью модуля fcntl. Когда я запускаю вручную fcntl.lockf(lock_file, fcntl.LOCK_EX | fcntl.LOCK_NB) в двух отдельных экземплярах Python я получаю ожидаемое исключение...
1228 просмотров
schedule 14.02.2023

Возвращаемое значение fcntl() с флагом F_GETFD?
Я использую fcntl() для дескриптора файла со следующим вызовом: Retval = select( MaxSocketId + 1, &ReadSocketSet, (fd_set *)NULL, (fd_set *)NULL, (struct timeval *)NULL ); if (Retval <= 0) { for (lIndexFD = 3;...
767 просмотров
schedule 27.04.2023

Как получить режим открытия файла в C (LINUX)
Я хочу реализовать функцию, которая получает в качестве параметра FILE* , которая уже открыта в режиме записи ( a , a+ , w , w+ и т. д.), и считывает содержимое этого файла. Проблема здесь в том, что файл уже заблокирован (из-за fopen ) и мне...
111 просмотров
schedule 01.07.2022

Реализация lseek в xv6
Прежде всего, я должен сказать, что вполне возможно, что я что-то упускаю. Мое задание состоит в том, чтобы по существу реализовать «fprintf». Теперь, хотя добавление к файлу не требуется, мне нравится делать все возможное. Моя проблема в том, что...
281 просмотров
schedule 08.03.2023