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
+
0
-

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!