• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/userbudgetpool.php
  • Класс: BitrixSaleInternalsUserBudgetPool
  • Вызов: UserBudgetPool::lock
protected function lock()
{
	if ($this->statusLock === self::STATUS_NOT_LOCKED)
	{
		$connection = MainApplication::getConnection();
		$name = $connection->getSqlHelper()->forSql($this->getUniqLockName());
		$dbRes = $connection->query("SELECT GET_LOCK('{$name}', 0) as L");
		$result = $dbRes->fetch();
		if ($result['L'] === '0')
		{
			$this->statusLock = self::STATUS_LOCKED_EARLIER;

			return;
		}

		$this->statusLock = self::STATUS_LOCKED_NOW;
	}
}