• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/ml/internals/lock.php
  • Класс: Bitrix\Crm\Ml\Internals\Lock
  • Вызов: Lock::get
static function get($lockName)
{
	$hash = md5($lockName);
	$lockFileName = \CTempFile::GetAbsoluteRoot()."/crm-ml-$hash.lock";
	CheckDirPath($lockFileName);
	static::$lockFiles[$lockName] = fopen($lockFileName, "w");
	if (!is_resource(static::$lockFiles[$lockName]))
	{
		static::$lockFiles[$lockName] = null;
		return false;
	}
	$locked = flock(static::$lockFiles[$lockName], LOCK_EX | LOCK_NB);
	if (!$locked)
	{
		fclose(static::$lockFiles[$lockName]);
		static::$lockFiles[$lockName] = null;
		return false;
	}

	return true;
}