Вурдалак
Продвинутый новичок
Блокировка файла
Какой смысл в коде а-ля
?
Вижу часто и не понимаю: flock() же будет ждать, пока другой процесс не будет закрыт. Исключением будет, насколько я понял, случай с LOCK_NB флагом.
И пример из мануала:
В каких случаях я получу «Couldn't get the lock!»? На определённых ФС?
Какой смысл в коде а-ля
PHP:
while( ! flock($fh, LOCK_EX) ) {
usleep(100);
}
Вижу часто и не понимаю: flock() же будет ждать, пока другой процесс не будет закрыт. Исключением будет, насколько я понял, случай с LOCK_NB флагом.
И пример из мануала:
PHP:
<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (flock($fp, LOCK_EX)) { // do an exclusive lock
ftruncate($fp, 0); // truncate file
fwrite($fp, "Write something here\n");
flock($fp, LOCK_UN); // release the lock
} else {
echo "Couldn't get the lock!";
}
fclose($fp);
?>