|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Mike Blazer 2:5020/400 03 Aug 2000 04:10:15 To : All Subject : Re: Блокировка файлов в WIN98 --------------------------------------------------------------------------------
Dmitriy Polahovskiy wrote:
>
> окружение:
> Win98, сеть Ethernet, WEB cервер - виндусовые Apache и Perl 5.03.
>
> ситуация:
> CGI скрипт читает данные из файла, модифицирует и перезаписывает в файл.
> проблема: Я так понимаю, что перед записью в файл скрипт обязан убедиться
> в том что этот файл уже не открыт для чтения или записи другими клиентами а
> перед чтением - что кто-то уже не пишет в файл. При полытке использовать
> функцию flock выдается сообщение: unimplemented on this platform.
>
> вопрос: Правильно ли я понимаю проблему и как ее решить?
flock на 95/98 не работает. Варианты - создать нечто. Файл со специальным
именем, запись в неком логе, хоть в регистре, event/mutex - чтобы эта вещь
показывала, что файл юзается кем-то другим. Hо полноценного flock'a это не дает.
Проще всего - так называемый локфайл - filename.lock. А лучше всего наверно
event - потому что он умирает вместе с процессом. А локфайл нужно внимательно
обрабатывать, иначе если процесс умрёт не уничтожив его, другие процессы никогда
не смогут работать с файлом.
--
==================================
Mike Blazer
blazer@mail.nevalink.ru
http://base.dux.ru/guest/fno/perl/
==================================
--- ifmail v.2.15dev5
* Origin: ... (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/120381682a8a1.html, оценка из 5, голосов 10
|