Merge pull request #1617 from davidsteinsland/master

Fixed race conditions for FileEngine.

Using file_exists() and unlink() together does not ensure atomic results.
This commit is contained in:
Mark Story 2013-09-06 09:16:13 -07:00
commit af3065d377

View file

@ -210,7 +210,7 @@ class FileEngine extends CacheEngine {
}
$path = $this->_File->getRealPath();
$this->_File = null;
return unlink($path);
return @unlink($path);
}
/**
@ -291,7 +291,7 @@ class FileEngine extends CacheEngine {
if ($file->isFile()) {
$_path = $file->getRealPath();
$file = null;
unlink($_path);
@unlink($_path);
}
}
}
@ -411,7 +411,7 @@ class FileEngine extends CacheEngine {
$containsGroup = strpos($object->getPathName(), DS . $group . DS) !== false;
$hasPrefix = strpos($object->getBaseName(), $this->settings['prefix']) === 0;
if ($object->isFile() && $containsGroup && $hasPrefix) {
unlink($object->getPathName());
@unlink($object->getPathName());
}
}
return true;