4 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionProcessLocker.php';
32 $this->lockFileHandles = array();
37 $this->
requestLock(self::PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE);
42 $this->
releaseLock(self::PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE);
47 $this->
requestLock(self::PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE);
52 $this->
releaseLock(self::PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE);
58 $this->lockFileHandles[$processName] = fopen($lockFilePath,
'w');
59 flock($this->lockFileHandles[$processName], LOCK_EX);
64 $path = $this->lockFileStorage->getPath();
65 return $path.
'/'.$processName.
'.lock';
70 flock($this->lockFileHandles[$processName], LOCK_UN);
71 fclose($this->lockFileHandles[$processName]);
__construct(ilAssQuestionProcessLockFileStorage $lockFileStorage)
const PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE
requestPersistWorkingStateLock()
releaseUserSolutionAdoptLock()
releaseLock($processName)
requestUserSolutionAdoptLock()
requestLock($processName)
releasePersistWorkingStateLock()
getLockFilePath($processName)