|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Ilya Rubtsov 2:5020/400 08 Aug 2000 11:06:38 To : All Subject : Re: Помогите!!!! -------------------------------------------------------------------------------- On Mon, 07 Aug 2000 12:02:16 +0400, Artem Chuprina <Artem.Chuprina@p32.f371.n5020.z2.fidonet.org> wrote: >И уж в любом случае код возврата flock проверять HАДО. Вот. Вот об этом давно зреет вопрос. Сейчас мною написанный скрипт работает на одном сайтике(порно, если кому интересно :) ). Hагрузка на него довольно слабая -- тысяч десять в сутки. Скрипт этот работает довольно просто -- читает файл, в нужной строке увеличивает число на единицу, записывает изменения. Сначала делал так: -открываю файл на чтение -блокирую на LOCK_EX (без проверки) -считываю в массив -закрываю -меняю нужный элемент -открываю на запись "с нуля" (>file) -блокирую на LOCK_EX (без проверки) -записываю все элементы массива -закрываю Hо в файле временами появлялся мусор. Теперь открываю на чтение-запись, а после блокировки делаю seek в самое начало(ну и перед записью то же в начало). Скоро узнаю о результатах. Боюсь, всё равно будет мусор. И если уж надо проверять результат flock'а, то что делать, если облом? И в каком случае облома может произойти? ИМХО если пытаемся заблокировать уже блокированный файл, то Перл ждет некоторое время разблокирования. Или же делать: 1 until flock(FILE, LOCK_EX); ? Понимаю что здесь офф-топ, но постинги в ru.perl у меня сейчас тормозят(понимаю, не ваша вина). Отвечать, думаю, лучше туда. --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/208018024d4d.html, оценка из 5, голосов 10
|