MediaWiki
REL1_24
|
Simple version of LockManager based on using FS lock files. More...
Public Member Functions | |
__construct (array $config) | |
Construct a new instance from configuration. | |
__destruct () | |
Make sure remaining locks get cleared for sanity. | |
Protected Member Functions | |
doLock (array $paths, $type) | |
doSingleLock ($path, $type) | |
Lock a single resource key. | |
doSingleUnlock ($path, $type) | |
Unlock a single resource key. | |
doUnlock (array $paths, $type) | |
getLockPath ($path) | |
Get the path to the lock file for a key. | |
Protected Attributes | |
array | $handles = array() |
Map of (locked key => lock file handle) *. | |
$lockDir | |
array | $lockTypeMap |
Mapping of lock types to the type actually used *. | |
Private Member Functions | |
closeLockHandles ($path, array $handlesToClose) | |
pruneKeyLockFiles ($path) |
Simple version of LockManager based on using FS lock files.
All locks are non-blocking, which avoids deadlocks.
This should work fine for small sites running off one server. Do not use this with 'lockDirectory' set to an NFS mount unless the NFS client is at least version 2.6.12. Otherwise, the BSD flock() locks will be ignored; see http://nfs.sourceforge.net/#section_d.
Definition at line 36 of file FSLockManager.php.
FSLockManager::__construct | ( | array $ | config | ) |
Construct a new instance from configuration.
array | $config | Includes:
|
Reimplemented from LockManager.
Definition at line 53 of file FSLockManager.php.
Make sure remaining locks get cleared for sanity.
Definition at line 238 of file FSLockManager.php.
FSLockManager::closeLockHandles | ( | $ | path, |
array $ | handlesToClose | ||
) | [private] |
string | $path | |
array | $handlesToClose |
Definition at line 195 of file FSLockManager.php.
FSLockManager::doLock | ( | array $ | paths, |
$ | type | ||
) | [protected] |
array | $paths | |
int | $type |
Reimplemented from LockManager.
Definition at line 65 of file FSLockManager.php.
FSLockManager::doSingleLock | ( | $ | path, |
$ | type | ||
) | [protected] |
Lock a single resource key.
string | $path | |
int | $type |
Definition at line 107 of file FSLockManager.php.
FSLockManager::doSingleUnlock | ( | $ | path, |
$ | type | ||
) | [protected] |
Unlock a single resource key.
string | $path | |
int | $type |
Definition at line 152 of file FSLockManager.php.
FSLockManager::doUnlock | ( | array $ | paths, |
$ | type | ||
) | [protected] |
array | $paths | |
int | $type |
Reimplemented from LockManager.
Definition at line 90 of file FSLockManager.php.
FSLockManager::getLockPath | ( | $ | path | ) | [protected] |
Get the path to the lock file for a key.
string | $path |
Definition at line 231 of file FSLockManager.php.
FSLockManager::pruneKeyLockFiles | ( | $ | path | ) | [private] |
Map of (locked key => lock file handle) *.
Definition at line 45 of file FSLockManager.php.
FSLockManager::$lockDir [protected] |
Definition at line 43 of file FSLockManager.php.
array FSLockManager::$lockTypeMap [protected] |
array( self::LOCK_SH => self::LOCK_SH, self::LOCK_UW => self::LOCK_SH, self::LOCK_EX => self::LOCK_EX )
Mapping of lock types to the type actually used *.
Reimplemented from LockManager.
Definition at line 37 of file FSLockManager.php.