getRuntimePath() . '/mutex.' . md5($name) . '.lock', 'w+'); if ($file === false) { return false; } $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; } protected function release($name) { if (!isset($this->_files[$name]) || !flock($this->_files[$name], LOCK_UN)) { return false; } else { fclose($this->_files[$name]); unset($this->_files[$name]); return true; } } protected function getIsAcquired($name) { return false; } public function getIsDistributed() { return false; } }