Вопросы по теме '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