![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/vendor/malkusch/lock/classes/mutex/ |
<?php namespace malkusch\lock\mutex; use Memcache; /** * Memcache based spinlock implementation. * * @author Markus Malkusch <[email protected]> * @link bitcoin:1P5FAZ4QhXCuwYPnLZdk3PJsqePbu1UDDA Donations * @license WTFPL * @deprecated 1.0.0 Use MemcachedMutex together with ext-memcached. */ class MemcacheMutex extends SpinlockMutex { /** * @var Memcache The connected Memcache API. */ private $memcache; /** * The memcache key prefix. * @internal */ const PREFIX = "lock_"; /** * Sets the lock's name and the connected Memcache API. * * The Memcache API needs to be connected to a server. * I.e. Memcache::connect() was already called. * * @param string $name The lock name. * @param Memcache $memcache The connected Memcache API. * @param int $timeout The time in seconds a lock expires, default is 3. * * @throws \LengthException The timeout must be greater than 0. */ public function __construct($name, Memcache $memcache, $timeout = 3) { parent::__construct($name, $timeout); trigger_error("MemcacheMutex has been deprecated in favour of MemcachedMutex.", E_USER_DEPRECATED); $this->memcache = $memcache; } /** * @internal */ protected function acquire($key, $expire) { return $this->memcache->add($key, true, 0, $expire); } /** * @internal */ protected function release($key) { return $this->memcache->delete($key); } }