|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Andrey Sapozhnikov 2:5020/400 16 May 2002 17:06:30 To : Sergey Gernichenko Subject : Re: Как правильно модифицир овать файл? --------------------------------------------------------------------------------
Sergey Gernichenko wrote:
> YT> Хмм. Если так сделаешь, то не сможешь ничего прочитать из файла в
> YT> память. По крайней мере у меня под FreeBSD это дает такой эффект.
> Это почему же? 2 обозначает Exclusive lock, если его поставить, то никакой
> другой процесс не сможет даже прочитать файл, а процес, поставивший лок, может
> делать с файлом всё, что ему хочется...
Exclusive lock запрещает только одно. Установку еще одного lock-а (хоть shared,
хоть еxclusive). Все остальное он не запрещает - можно и читать и писать.
Разумеется я имею в виду механизм BSD4.4 flock. Механизм POSIX.1 fcntl()/lockf()
вообще не имеет деления на exclusive и shared, а механизм mandatory locks
реализован далеко не во всех OS, и как правило, требует установки специальных
прав на файл (System V), типа -rw-r-Sr-- и работает тоже через fcntl/lockf. Перл
для реализации функции flock использует, по возможности, системный вызов flock.
Андрей
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/5284defc1828.html, оценка из 5, голосов 10
|