yii\mutex\FileMutex::acquireLock PHP Метод

acquireLock() защищенный Метод

Acquires lock by given name.
protected acquireLock ( string $name, integer $timeout ) : boolean
$name string of the lock to be acquired.
$timeout integer to wait for lock to become released.
Результат boolean acquiring result.
    protected function acquireLock($name, $timeout = 0)
    {
        $file = fopen($this->getLockFilePath($name), 'w+');
        if ($file === false) {
            return false;
        }
        if ($this->fileMode !== null) {
            @chmod($this->getLockFilePath($name), $this->fileMode);
        }
        $waitTime = 0;
        while (!flock($file, LOCK_EX | LOCK_NB)) {
            $waitTime++;
            if ($waitTime > $timeout) {
                fclose($file);
                return false;
            }
            sleep(1);
        }
        $this->_files[$name] = $file;
        return true;
    }

Usage Example

Пример #1
0
 public function acquireLock($name, $timeout = 0)
 {
     $result = parent::acquireLock($name, $timeout);
     if ($result) {
         $this->_names[] = $name;
     }
     return $result;
 }