42         $this->lockFileHandles = array();
    50         $this->
requestLock(self::PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE);
    58         $this->
releaseLock(self::PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE);
    66         $this->
requestLock(self::PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE);
    74         $this->
releaseLock(self::PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE);
    83         $this->lockFileHandles[$processName] = fopen($lockFilePath, 
'w');
    84         flock($this->lockFileHandles[$processName], LOCK_EX);
    93         $path = $this->lockFileStorage->getAbsolutePath();
    94         return $path . 
'/' . $processName . 
'.lock';
   102         flock($this->lockFileHandles[$processName], LOCK_UN);
   103         fclose($this->lockFileHandles[$processName]);
 
__construct(ilAssQuestionProcessLockFileStorage $lockFileStorage)
 
const PROCESS_NAME_QUESTION_WORKING_STATE_UPDATE
 
releaseLock($processName)
 
onAfterExecutingPersistWorkingStateOperation()
{} 
 
ilAssQuestionProcessLockFileStorage $lockFileStorage
 
requestLock($processName)
 
getLockFilePath($processName)
 
onBeforeExecutingPersistWorkingStateOperation()
{} 
 
onAfterExecutingUserSolutionAdoptOperation()
{} 
 
onBeforeExecutingUserSolutionAdoptOperation()
{}