проблема с flock

basil83

Новичок
проблема с flock

доброй ночи!
такая проблема вот возникает иногда на некоторых серваках переодически!
зависает весь сайт на функции блокирования $f_lock = flock($fp, LOCK_SH);
и висит после этого!
но это не сразу появляется а через время, сначало все пашет!
просто какая мистика, перечитал документацию никто ничего такого не пишет,
как буд-то в ней вечный цикл внутри функции и не срабатывает блокировка на уровне php!
может у кого есть соображения, буду рад выслушать!
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума

[оф.]
Чего же прет сегодня то так...
Уже второй подобный вопрос с "периодической" проблемой за день.
При этом нет абсолютно никакой информации для "телепатирования".
Вот не работает и 3.14дец. Я офигеваю.
"Повесь" в крон рестарт апача. :D
 

basil83

Новичок
это ж не решение проблемы перегружать
может какие-то настройки или php функции на нее влияют или ОС или фиг его знает что может на нее влиять
 

kode

never knows best
скажи мне друг сердешный, действительно ли нужен тебе flock?
 

basil83

Новичок
ну конечно нужен, а как же без нее блокировать файлы, чтобы не было никаких глюков и все коректно отрабатывало
 

С.

Продвинутый новичок
flock() - функция по умолчанию блокирующая. Значит возникает условие, что кто-то не "отпустил" твой файл. См. LOCK_NB
 

Андрейка

Senior pomidor developer
ну конечно нужен, а как же без нее блокировать файлы, чтобы не было никаких глюков и все коректно отрабатывало
ну да.. написал денить flock в коде и все начинает корректно отрабатывать)
 

basil83

Новичок
ну вот я и пытаюсь выяснить при каких условиях оно начинает на некотрых файлах глючить, каждый раз на разных
 

Андрейка

Senior pomidor developer
basil83
наверное один flock не помогает корректно отрабатывать, попробуй два или даже три flock`a написать
хз чем тебе еще мы можем помочь
 

basil83

Новичок
ну ты понимаешь код доходит до функции flock и тупо виснет дальше не идет ошибки не выдает Э(((
 

AmdY

Пью пиво
Команда форума
покажи пример скрипта

-~{}~ 15.05.08 04:31:

возможно твой файл уже залочен предыдущим скриптом, который никак не здохнет
 

basil83

Новичок
ну почему такое возникает не на всех хостингах, а только на не которых да и на некоторых файлах, что может влиять на этот flock может уже думал в настройках php что-то.
 

С.

Продвинутый новичок
basil83, блин, тебе же сказали, что если flock() не может заблокировать по каким-то причинам файл, то по умолчанию будет висеть и пытаться до-посинения. Вот и разберись, что не дает ей заблокираовать. А ты тут все мистику выискиваешь.

-~{}~ 15.05.08 05:40:

Мистика у тебя началсь, когда ты вообще зачем-то решил блокировать файл на чтение (LOCK_SH). Что за экзотическое требование такое, и что случитс

-~{}~ 15.05.08 05:40:

Мистика у тебя началсь, когда ты вообще зачем-то решил блокировать файл на чтение (LOCK_SH). Что за экзотическое требование такое, и что может случится, если блокировки не будет?
 

basil83

Новичок
подожди дорогой
вот тебе строка с мануала
flock() возвращает TRUE при успехе и FALSE при ошибке (например, когда блокировка не может быть получена).
а нафига тогда возвращать бул ???
 

С.

Продвинутый новичок
А ты не пробовал читать всю статью, не только отдельные предложения? Попробуй, иногда помогает.
 

basil83

Новичок
блин я в первом сообщении написал что все перечитал и много другого, но эжта ситуация не обычная, по какихз-то причинах виснет
 

С.

Продвинутый новичок
-~{}~ 15.05.08 06:09:

Все-таки объясни, зачем тебе блокировка на чтение? Кроме того, что
ну конечно нужен, а как же без нее блокировать файлы, чтобы не было никаких глюков и все коректно отрабатывало
Блокировка на запись ясно зачем нужна. А зачем ПРАКТИЧЕСКИ нужна блокировка на чтение. Что МОЖЕТ случится если блокиривки не будет?
 

basil83

Новичок
если создатели php придумали значит так нужно, не лохи этот язык делали, ты об этом не думал!
 

С.

Продвинутый новичок
Так бы сразу и говорил. Теперь все ясно. Это ты кабинетом ошибся. Тут терапевт, а тебе на второй этаж.
 

basil83

Новичок
ой да ладно хватит умничать, не сталкивался с такой проблемой, не умничай, я тоже думал все просто, и много вариантов себе набросал что может быть, но думал у кого-то была на практике такая фигня, а не в теории
 
Сверху