TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Core\Locking\FileLockStrategy Class Reference
Inheritance diagram for TYPO3\CMS\Core\Locking\FileLockStrategy:
TYPO3\CMS\Core\Locking\LockingStrategyInterface

Public Member Functions

 __construct ($subject)
 
 __destruct ()
 
 acquire ($mode=self::LOCK_CAPABILITY_EXCLUSIVE)
 
 release ()
 
 isAcquired ()
 
 destroy ()
 

Static Public Member Functions

static getPriority ()
 
static getCapabilities ()
 

Public Attributes

const FILE_LOCK_FOLDER = 'typo3temp/locks/'
 
- Public Attributes inherited from TYPO3\CMS\Core\Locking\LockingStrategyInterface
const LOCK_CAPABILITY_EXCLUSIVE = 1
 
const LOCK_CAPABILITY_SHARED = 2
 
const LOCK_CAPABILITY_NOBLOCK = 4
 

Protected Attributes

 $filePointer
 
 $filePath
 
 $isAcquired = false
 

Detailed Description

flock() locking

Definition at line 25 of file FileLockStrategy.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Core\Locking\FileLockStrategy::__construct (   $subject)
Parameters
string$subjectID to identify this lock in the system
Exceptions
LockCreateExceptionif the lock could not be created

Implements TYPO3\CMS\Core\Locking\LockingStrategyInterface.

Definition at line 48 of file FileLockStrategy.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\mkdir().

◆ __destruct()

TYPO3\CMS\Core\Locking\FileLockStrategy::__destruct ( )

Destructor: Releases lock automatically when instance is destroyed and release resources

Definition at line 74 of file FileLockStrategy.php.

References TYPO3\CMS\Core\Locking\FileLockStrategy\release().

Member Function Documentation

◆ acquire()

TYPO3\CMS\Core\Locking\FileLockStrategy::acquire (   $mode = self::LOCK_CAPABILITY_EXCLUSIVE)

Try to acquire an exclusive lock

Parameters
int$modeLOCK_CAPABILITY_EXCLUSIVE or LOCK_CAPABILITY_SHARED or self::LOCK_CAPABILITY_NOBLOCK
Returns
bool Returns TRUE if the lock was acquired successfully
Exceptions
LockAcquireExceptionif the lock could not be acquired
LockAcquireWouldBlockExceptionif the acquire would have blocked and NOBLOCK was set

Implements TYPO3\CMS\Core\Locking\LockingStrategyInterface.

Definition at line 87 of file FileLockStrategy.php.

References TYPO3\CMS\Core\Locking\FileLockStrategy\$isAcquired, TYPO3\CMS\Core\Utility\GeneralUtility\fixPermissions(), and TYPO3\CMS\Core\Locking\FileLockStrategy\isAcquired().

◆ destroy()

TYPO3\CMS\Core\Locking\FileLockStrategy::destroy ( )

Destroys the resource associated with the lock

Returns
void

Implements TYPO3\CMS\Core\Locking\LockingStrategyInterface.

Definition at line 179 of file FileLockStrategy.php.

◆ getCapabilities()

static TYPO3\CMS\Core\Locking\FileLockStrategy::getCapabilities ( )
static
Returns
int LOCK_CAPABILITY_* elements combined with bit-wise OR

Implements TYPO3\CMS\Core\Locking\LockingStrategyInterface.

Definition at line 156 of file FileLockStrategy.php.

◆ getPriority()

static TYPO3\CMS\Core\Locking\FileLockStrategy::getPriority ( )
static
Returns
int Returns a priority for the method. 0 to 100, 100 is highest

Implements TYPO3\CMS\Core\Locking\LockingStrategyInterface.

Definition at line 148 of file FileLockStrategy.php.

◆ isAcquired()

TYPO3\CMS\Core\Locking\FileLockStrategy::isAcquired ( )

Get status of this lock

Returns
bool Returns TRUE if lock is acquired by this locker, FALSE otherwise

Implements TYPO3\CMS\Core\Locking\LockingStrategyInterface.

Definition at line 140 of file FileLockStrategy.php.

References TYPO3\CMS\Core\Locking\FileLockStrategy\$isAcquired.

Referenced by TYPO3\CMS\Core\Locking\FileLockStrategy\acquire(), and TYPO3\CMS\Core\Locking\FileLockStrategy\release().

◆ release()

TYPO3\CMS\Core\Locking\FileLockStrategy::release ( )

Release the lock

Returns
bool Returns TRUE on success or FALSE on failure

Implements TYPO3\CMS\Core\Locking\LockingStrategyInterface.

Definition at line 119 of file FileLockStrategy.php.

References TYPO3\CMS\Core\Locking\FileLockStrategy\isAcquired().

Referenced by TYPO3\CMS\Core\Locking\FileLockStrategy\__destruct().

Member Data Documentation

◆ $filePath

TYPO3\CMS\Core\Locking\FileLockStrategy::$filePath
protected

Definition at line 37 of file FileLockStrategy.php.

◆ $filePointer

TYPO3\CMS\Core\Locking\FileLockStrategy::$filePointer
protected

Definition at line 32 of file FileLockStrategy.php.

◆ $isAcquired

TYPO3\CMS\Core\Locking\FileLockStrategy::$isAcquired = false
protected

◆ FILE_LOCK_FOLDER