Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обеспечение последовательного доступа к ресурсам
|
|||
|---|---|---|---|
|
#18+
Всем добрый день. Посоветуйте мне пожалуйста решение для следующей проблемы: Я пишу CGI приложение с использованием C++, основная моя цель написать приложение свободно переносимое как под Windows так и под Linux/UNIX FreeBSD. В приложении мне нужно обеспечить последовательный доступ к определенным файлам для запускаемых в произвольном количестве CGI приложений. Т.е. я ни в коем случае не должен допустить одновременного доступа к определенным файлам (которые представляют собой что-то вроде базы данных) более чем одной копии CGI приложения. Мне посоветовали использовать lock-файл. Насколько я понимаю я должен использовать ANSI С/С++ и POSIX функции которые бы работали как в Windows так и в Linux/UNIX. Дополнительная проблема состоит в том что если к примеру во время работы одного из CGI полетит сервер то lock-файл удален не будет и таким образом ни один из последующих запусков CGI успешным не будет пока кто-то вручную этот lock-файл не удалит. Как я понимаю алгоритм можно разбить на две функции Lock() и Unlock() - Алгоритм Lock() следующий: 1 - создание lock-файла 2 - проверка времени создания файла и если он создан позднее чем к примеру 15 минут назад то значит что файл недействителен и можно устанавливать lock 3 - создание файла блокировки или ожидание пока другая копия CGI снимет блокировку Алгоритм Unlock() следующий: 1 - удаление lock-файла Подскажите мне пожалуйста функции создания и проверки времени и факта существования файла которые бы работали под Windows, Linux и UNIX, насколько я знаю такие функции существуют. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2004, 22:19 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=220&tid=1348377]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 158ms |

| 0 / 0 |
