QNX RTP Logo QNX Realtime Platform: Русский Портал QNX
Thursday, 20 Nov 2008 14:06
Меню

Проект OpenNET - все о Unix
Главная

 · Начало · Статистика · Поиск ·

  QNX.ORG.RU —› Программирование под QNX 4.x —› Признаки открытия файла

Посл.ответ Сообщение


Дата: 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.

You must login to post.

©   2000-2003 Команда проекта QNX.ORG.RU // QNX.ORG.RU Team
Авторы проекта: Дмитрий Алексеев [dmi] и Дмитрий Васильев. Техническое сопровождение проекта: Игорь Сорокин [isorokin]. Информационное сопровождение: Дмитрий Алексеев [dmi]
QNX - зарегистрированная торговая марка QNX Software Systems, Ltd., Canada. Остальные упоминаемые на сайте торговые марки и логотипы являются исключительно собственностью их уважаемых владельцев. Ничьи права не затронуты. Материалы сайта не могут быть скопированы и где-либо использованы в той или иной форме без письменного разрешения разработчиков сайта.
Powered by Mambo Open Source