Otazka k implementaci funkce FileStorage->Lock()?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- MartyIX
- Člen | 217
Nasel jsem tuto funkci https://api.nette.org/…age.php.html#…
/**
* Prevents item reading and writing. Lock is released by write() or remove().
* @param string key
* @return void
*/
public function lock($key)
{
$cacheFile = $this->getCacheFile($key);
if ($this->useDirs && !is_dir($dir = dirname($cacheFile))) {
@mkdir($dir); // @ - directory may already exist
}
$handle = @fopen($cacheFile, 'r+b'); // @ - file may not exist
if (!$handle) {
$handle = fopen($cacheFile, 'wb');
if (!$handle) {
return;
}
}
$this->locks[$key] = $handle;
flock($handle, LOCK_EX);
}
a zajimalo by me, proc se ziskava $handle
, tak jak se ziskava.
Tedy proc se nejdrive zkousi ‚r+b‘ mod a v pripade nouze ‚wb‘ mod.
Diky!