/** * $mode LOCK_SH | LOCK_EX */ public static function lock($mode, $lock_file_name = 'global') { if (self::$_fIsLocked) { return false; } $lock_file = CConf::get('cache_dir') . $lock_file_name . '.lock'; self::$_fLockFileHandler = new CFile($lock_file); self::$_fLockFileHandler->open('w'); if (!self::$_fLockFileHandler->isError()) { CProfiler::lockStart(); self::$_fLockFileHandler->lock($mode); CProfiler::lockStop(); self::$_fIsLocked = true; return true; } else { return false; } }