|
Дата: 22 Июл, 18:42
Необходимо при чтении каталога узнать, какие из имеющихся там файлов в данное время используются (открыты на чтение или запись) каким-либо процессом. stat() не помогает - поля st_mode и st_status этой информации не содержат. Более того, система спокойно позволяет удалить файл, открытый на запись другим процессом.
Что делать?
|
|
Дата: 23 Июл, 09:33 · Поправил: darkelf
Если открывающие процессы тоже Ваши, то можно попробовать через блокировку файлов fcntl(). В открывающих устанавливать блокировку, а в читающем каталог - её проверять.
|
|
Дата: 23 Июл, 09:57 · Поправил: A_O
Спасибо. Это, наверное, сработает. Но тогда придется не просто читать каталог, а открывать каждый файл. Поскольку каталоги могут быть большими (порядка 1000 файлов), это нежелательно.
|
|
Дата: 24 Июл, 20:13
Hint: in QNX6 there is "sin fds"... As QNX4 goes -- I do not remember.
|