Locks the cache for a given Request.
Request $request A Request instance:
Boolean|string true if the lock is acquired, the path to the current lock otherwise
Overrides StoreInterface::lock
public function lock(Request $request) {
$path = $this
->getPath($this
->getCacheKey($request) . '.lck');
if (!is_dir(dirname($path)) && false === @mkdir(dirname($path), 0777, true)) {
return false;
}
$lock = @fopen($path, 'x');
if (false !== $lock) {
fclose($lock);
$this->locks[] = $path;
return true;
}
return !file_exists($path) ?: $path;
}