MediaWiki
REL1_22
|
Self-releasing locks. More...
Public Member Functions | |
__destruct () | |
Release the locks when this goes out of scope. | |
Static Public Member Functions | |
static | factory (LockManager $manager, array $paths, $type, Status $status, $timeout=0) |
Get a ScopedLock object representing a lock on resource paths. | |
static | release (ScopedLock &$lock=null) |
Release a scoped lock and set any errors in the attatched Status object. | |
Protected Member Functions | |
__construct (LockManager $manager, array $pathsByType, Status $status) | |
Protected Attributes | |
LockManager | $manager |
* | |
Array | $pathsByType |
Map of lock types to resource paths *. | |
Status | $status |
* |
Self-releasing locks.
LockManager helper class to handle scoped locks, which release when an object is destroyed or goes out of scope.
Definition at line 34 of file ScopedLock.php.
ScopedLock::__construct | ( | LockManager $ | manager, |
array $ | pathsByType, | ||
Status $ | status | ||
) | [protected] |
LockManager | $manager | |
array | $pathsByType | Map of lock types to path lists |
Status | $status |
Definition at line 44 of file ScopedLock.php.
Release the locks when this goes out of scope.
Definition at line 93 of file ScopedLock.php.
static ScopedLock::factory | ( | LockManager $ | manager, |
array $ | paths, | ||
$ | type, | ||
Status $ | status, | ||
$ | timeout = 0 |
||
) | [static] |
Get a ScopedLock object representing a lock on resource paths.
Any locks are released once this object goes out of scope. The status object is updated with any errors or warnings.
$type can be "mixed" and $paths can be a map of types to paths (since 1.22). Otherwise $type should be an integer and $paths should be a list of paths.
LockManager | $manager | |
array | $paths | List of storage paths or map of lock types to path lists |
integer | string | $type | LockManager::LOCK_* constant or "mixed" |
Status | $status | |
integer | $timeout | Timeout in seconds (0 means non-blocking) (since 1.22) |
Definition at line 65 of file ScopedLock.php.
static ScopedLock::release | ( | ScopedLock &$ | lock = null | ) | [static] |
Release a scoped lock and set any errors in the attatched Status object.
This is useful for early release of locks before function scope is destroyed. This is the same as setting the lock object to null.
ScopedLock | $lock |
Definition at line 86 of file ScopedLock.php.
LockManager ScopedLock::$manager [protected] |
*
Definition at line 35 of file ScopedLock.php.
Array ScopedLock::$pathsByType [protected] |
Map of lock types to resource paths *.
Definition at line 37 of file ScopedLock.php.
Status ScopedLock::$status [protected] |
*
Definition at line 36 of file ScopedLock.php.