Ошибки типа «Состояние гонки» (race condition) редко встречаются на малонагруженных проектах, а с ростом нагрузки ситуация медленно, но верно меняется. И однажды обычное кеширование данных в файле, например, вот такое:
function getFlagFromFile($filename) {
if (file_exists($filename)) {
if (!$this->validate()) { // а не устарел ли файл?
unlink($filename);
return false;
}
else {
return file_get_contents($filename);
}
}
return false;
}
выдаёт ошибку в строке unlink(): файл $filename не существует!
Читать полностью »