Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Использование flock [3]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): « 1 2 [3] 4 »   

> Без описания
Squirrel
Отправлено: 18 Августа, 2013 - 23:00:34
Post Id


Забанен


Покинул форум
Сообщений всего: 147
Дата рег-ции: Авг. 2013  


Помог: 4 раз(а)

[+]


LIME Да.

PS: Реально складывается впечатления, что ребятам на этом форуме просто не хватает женского внимания в реале Улыбка
 
 Top
Мелкий Супермодератор
Отправлено: 18 Августа, 2013 - 23:55:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Ваш вопрос:
Squirrel пишет:
Вот никак не пойму, как П4 избежать.

Зачем вы закрываете дескриптор, если хотите, чтобы блокировка жила до пункта 5? Где вы вновь открываете файл, зачем-то вновь получаете блокировку?

Ваша ведь цитата:
Цитата:
Читаем из файла некое число, увеличиваем на единицу, записываем в файл обратно. Как сделать так, что бы другой процесс не смог получить доступ к файлу, пока работает первый.

Ну так открываем файл, получаем эксклюзивную блокировку, читаем значение, что-то с ним делаем, записываем, закрываем. Посередине действия-то зачем закрывать файл?


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 19 Августа, 2013 - 00:00:41
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Squirrel какого цвета у тебя глаза?

(Отредактировано автором: 19 Августа, 2013 - 00:01:20)

 
 Top
Squirrel
Отправлено: 19 Августа, 2013 - 01:42:26
Post Id


Забанен


Покинул форум
Сообщений всего: 147
Дата рег-ции: Авг. 2013  


Помог: 4 раз(а)

[+]


Мелкий пишет:
Ну так открываем файл, получаем эксклюзивную блокировку, читаем значение, что-то с ним делаем, записываем, закрываем. Посередине действия-то зачем закрывать файл?

Прости, а откровенно тебе какая разница, если ты все равно не знаешь, как реализовать то, что мне нужно?
Наверно, раз я это делаю, значит почему-то мне это было нужно, и именно так и не иначе.
Или ты считаешь, меня на столько тупой, что я сама бы не догадалась, в один прием с монопольной лочкой все cделать?

А вообще была бы нормальная документация по PHP, вопрос бы просто не возник. Столько бреда копипастят. По этому и приходится спрашивать у людей, которые делали что-то подобное.
 
 Top
Саныч Модератор
Отправлено: 19 Августа, 2013 - 02:16:57
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




Это ж откуда интересно, разработчики PHP копипастят документацию для своего же творения? Улыбка
На такую документацию, как у PHP еще грех жаловаться.


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Squirrel
Отправлено: 19 Августа, 2013 - 02:40:30
Post Id


Забанен


Покинул форум
Сообщений всего: 147
Дата рег-ции: Авг. 2013  


Помог: 4 раз(а)

[+]


Саныч пишет:
Это ж откуда интересно, разработчики PHP копипастят документацию для своего же творения? Улыбка
На такую документацию, как у PHP еще грех жаловаться.

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

Если документация, такая чудесная, ответь на всего один простой вопрос.

Лочка файлов в PHP реализована на уровне парсера PHP, или на уровне ФС(ОС)?

И вопрос по сложнее. Что будет если процесс не закрывая файл сменит лочку с R на RW, если есть запрос на лочку от второго процесса.

(Отредактировано автором: 19 Августа, 2013 - 03:40:54)

 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Августа, 2013 - 02:44:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




1) На уровне пхп.
2) Ничего не будет, лок останется там где был, изменится только режим.
 
 Top
Squirrel
Отправлено: 19 Августа, 2013 - 02:56:57
Post Id


Забанен


Покинул форум
Сообщений всего: 147
Дата рег-ции: Авг. 2013  


Помог: 4 раз(а)

[+]


DeepVarvar
1) Если верить документации с это сайта, то ответ не правильный.
2.1) Пруф?
2.2) Лично проверяли?
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Августа, 2013 - 03:02:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




1) Назовите мне другое приложение, которое абсолютно так же будет лочить файл в ФС и пхп встанет в очередь.
2.1) Нету
2.2) Хотел предложить сам, написав "Что стоит проверить?"
 
 Top
Squirrel
Отправлено: 19 Августа, 2013 - 03:38:26
Post Id


Забанен


Покинул форум
Сообщений всего: 147
Дата рег-ции: Авг. 2013  


Помог: 4 раз(а)

[+]


DeepVarvar
1) А причем тут другое приложение?
2) Вывод: ни теорией ни практикой ты свои слова доказать не можешь. Прости, но тогда на основании чего ты сделал такое заключение, если по факту оказалось, что в данном вопросе ты не компетентен.

(Отредактировано автором: 19 Августа, 2013 - 03:42:28)

 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Августа, 2013 - 04:36:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




1) Если приложение ни при чем, то и ответ корректен.
2) Перечитал вопрос еще раз - он некорректен, точнее невозможно уже открытый файл "переоткрыть" в другом режиме не закрывая его или не теряя дескриптор. И да, я проверил - скрипт который попытается переоткрыть файл потеряет свой лок и сможет писать наплевав на чужие локи, т.к. его лок был вызван ранее и не для этого дескриптора.

Мы с Вами на "ты" не переходили.
Кроме того, делаю Вам устное предупреждение за неуважительное отношение к другим участникам конференции.
 
 Top
steffex
Отправлено: 19 Августа, 2013 - 23:01:37
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Понятно что время, сколько flock ждет вычислить не удастся.
Но хоть как то можно ограничить его работу?Если нет лимита на выполнение скрипта то может выйти бесконечный цикл.
На php.net есть кучу примеров но никакой не пашет, да и то логично, внутри функции sleep() ведь.
 
 Top
Squirrel
Отправлено: 19 Августа, 2013 - 23:41:32
Post Id


Забанен


Покинул форум
Сообщений всего: 147
Дата рег-ции: Авг. 2013  


Помог: 4 раз(а)

[+]


steffex Погугли хорошенько на эту тему. В интернете масса примеров, где время получения лочки ограничено. И они работают.
 
 Top
steffex
Отправлено: 20 Августа, 2013 - 10:41:55
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Squirrel пишет:
steffex Погугли хорошенько на эту тему. В интернете масса примеров, где время получения лочки ограничено. И они работают.

Можно хоть один пример?Буду очень благодарен.
Кроме цикла while врядли еще какие есть, но он не работает.
 
 Top
Squirrel
Отправлено: 25 Августа, 2013 - 03:40:28
Post Id


Забанен


Покинул форум
Сообщений всего: 147
Дата рег-ции: Авг. 2013  


Помог: 4 раз(а)

[+]


DeepVarvar пишет:
Кроме того, делаю Вам устное предупреждение за неуважительное отношение к другим участникам конференции.

Указание на не компетентность, облом попытки смены темы, пресечение попытки троллинга, констатация факта, что оппонет занимается демагогий, не по вопросу в котором не разбирается, не является "неуважительным отношением".
То, что ты дал бан, горит только о том, что ты просто испугался, что тебя еще раз натыкают в выше перечисленное. Это раз.
А два. Обращение на "ВЫ" в рунете носит оскорбительный характер, в отличии от "ТЫ", которое писхически полноценными людьми всегда воспринимается нормально.
А три. Обращаться на "ВЫ" к не уважаемому, но социально равному человеку нормы поведения не требуют.
А четыре. Обращение на "ты", от социально равного человека воспринимается как оскорбление, только людьми психически нездоровыми, в частности страдающие манией величия, или комплексом собственной не полноценности.
А пять. То что ты отказался отвечать на вопрос заданный в личной переписки, говорит только о том, что никаких правил я не нарушала. Что означает, что бан был дан, по одной из причин указанных выше.

PS: У остальных прошу прощения за оффтопик.

(Отредактировано автором: 25 Августа, 2013 - 03:42:22)

 
 Top
Страниц (4): « 1 2 [3] 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB