Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/Lock/NullLockBackend.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/Lock/NullLockBackend.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,61 @@ +<?php + +namespace Drupal\Core\Lock; + +/** + * Defines a Null lock backend. + * + * This implementation won't actually lock anything and will always succeed on + * lock attempts. + * + * @ingroup lock + */ +class NullLockBackend implements LockBackendInterface { + + /** + * Current page lock token identifier. + * + * @var string + */ + protected $lockId; + + /** + * {@inheritdoc} + */ + public function acquire($name, $timeout = 30.0) { + return TRUE; + } + + /** + * {@inheritdoc} + */ + public function lockMayBeAvailable($name) { + return TRUE; + } + + /** + * {@inheritdoc} + */ + public function wait($name, $delay = 30) {} + + /** + * {@inheritdoc} + */ + public function release($name) {} + + /** + * {@inheritdoc} + */ + public function releaseAll($lock_id = NULL) {} + + /** + * {@inheritdoc} + */ + public function getLockId() { + if (!isset($this->lockId)) { + $this->lockId = uniqid(mt_rand(), TRUE); + } + return $this->lockId; + } + +}