• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/data/cacheenginexcache.php
  • Класс: BitrixMainDataCacheEngineXCache
  • Вызов: CacheEngineXCache::unlock
protected function unlock($baseDir, $initDir = false, $key = false, $TTL = 0)
{
	if ($key !== false)
	{
		if ($TTL > 0)
		{
			xcache_set($key, 1, intval($TTL));
		}
		else
		{
			xcache_unset($key);
		}

		unset(self::$locks[$baseDir][$initDir][$key]);
	}
	elseif ($initDir !== false)
	{
		if (isset(self::$locks[$baseDir][$initDir]))
		{
			foreach (self::$locks[$baseDir][$initDir] as $subKey)
			{
				$this->unlock($baseDir, $initDir, $subKey, $TTL);
			}
			unset(self::$locks[$baseDir][$initDir]);
		}
	}
	elseif ($baseDir !== false)
	{
		if (isset(self::$locks[$baseDir]))
		{
			foreach (self::$locks[$baseDir] as $subInitDir)
			{
				$this->unlock($baseDir, $subInitDir, false, $TTL);
			}
		}
	}
}