|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Serg Chervjakov 2:5020/400 05 May 2003 18:30:34 To : Victor Wagner Subject : Re: Движок -------------------------------------------------------------------------------- Добрый день! Mon May 05 2003 16:07, Victor Wagner wrote to "Serg Chervjakov": VW> Если ты хочешь файл писать, то происи эксклюзивную (исключительную) VW> блокировку. VW> Если ее тебе дали, это значит что никто другой не держит в данны момент VW> ни shared, ни exclusive блокировку (и не получит, пока LOCK_EX держишь VW> ты), SC>> необходимо, что б прога вошла в режим ожидания? VW> Чтобы она вошла в режим ожидания, нужно чтобы кто-то другой держал VW> несовместимую блокировку. EXCLUSIVE несовместима ни с кем, на то она и VW> EXCLUSIVE, а SHARED совместима только с другой SHARED. Ага - потихоньку пошел въезжать:). Т.е. для записи это выглдит примерно так: open DATA,$filename; flock(DATA,LOCK_EX); print DATA $txt; flock(DATA,LOCK_UN); #Hо что будет, если другой скрипт начнет писать в это файл именно вот в этот #промежуток времени??? Или такого не может быть впринципе? close DATA; И еще, я так понял, если мне лень не забывать делать use Fcntl ':flock'; То вместо LOCK_SH, LOCK_EX, or LOCK_UN, надо юзать 1, 2, 8? И уж что бы совсем полностью разобраться - что такоэ LOCK_NB? ЗЫ: Сорри, что очень уж подробно выясняю - просто проверить работоспособность этой чтуки достаточно тяжело, а скрипт достаточно важный... --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/16679031e151d.html, оценка из 5, голосов 10
|