TYPO3  7.6
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | List of all members
FileLockStrategy Class Reference
Inheritance diagram for FileLockStrategy:
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 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 (   $subject)
Parameters
string$subjectID to identify this lock in the system
Exceptions
LockCreateExceptionif the lock could not be created

Implements LockingStrategyInterface.

Definition at line 48 of file FileLockStrategy.php.

References GeneralUtility\mkdir().

__destruct ( )

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

Definition at line 74 of file FileLockStrategy.php.

References FileLockStrategy\release().

Member Function Documentation

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 LockingStrategyInterface.

Definition at line 87 of file FileLockStrategy.php.

References FileLockStrategy\$isAcquired, GeneralUtility\fixPermissions(), and FileLockStrategy\isAcquired().

destroy ( )

Destroys the resource associated with the lock

Returns
void

Implements LockingStrategyInterface.

Definition at line 179 of file FileLockStrategy.php.

static getCapabilities ( )
static
Returns
int LOCK_CAPABILITY_* elements combined with bit-wise OR

Implements LockingStrategyInterface.

Definition at line 156 of file FileLockStrategy.php.

static getPriority ( )
static
Returns
int Returns a priority for the method. 0 to 100, 100 is highest

Implements LockingStrategyInterface.

Definition at line 148 of file FileLockStrategy.php.

isAcquired ( )

Get status of this lock

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

Implements LockingStrategyInterface.

Definition at line 140 of file FileLockStrategy.php.

References FileLockStrategy\$isAcquired.

Referenced by FileLockStrategy\acquire(), and FileLockStrategy\release().

release ( )

Release the lock

Returns
bool Returns TRUE on success or FALSE on failure

Implements LockingStrategyInterface.

Definition at line 119 of file FileLockStrategy.php.

References FileLockStrategy\isAcquired().

Referenced by FileLockStrategy\__destruct().

Member Data Documentation

$filePath
protected

Definition at line 37 of file FileLockStrategy.php.

$filePointer
protected

Definition at line 32 of file FileLockStrategy.php.

$isAcquired = false
protected

Definition at line 42 of file FileLockStrategy.php.

Referenced by FileLockStrategy\acquire(), and FileLockStrategy\isAcquired().

const FILE_LOCK_FOLDER = 'typo3temp/locks/'

Definition at line 27 of file FileLockStrategy.php.