]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Lock/AbstractLockDriver.php
Merge remote-tracking branch 'upstream/2019.03-RC' into worker2
[friendica.git] / src / Core / Lock / AbstractLockDriver.php
index 15820c3782b5b074e3bf83dbb1e8ede22ae44149..033d6f356e74ce263f9909877e276db80ddb597a 100644 (file)
@@ -1,15 +1,16 @@
 <?php
 
 namespace Friendica\Core\Lock;
+use Friendica\BaseObject;
 
 /**
  * Class AbstractLockDriver
  *
  * @package Friendica\Core\Lock
  *
- * @brief Basic class for Locking with common functions (local acquired locks, releaseAll, ..)
+ * Basic class for Locking with common functions (local acquired locks, releaseAll, ..)
  */
-abstract class AbstractLockDriver implements ILockDriver
+abstract class AbstractLockDriver extends BaseObject implements ILockDriver
 {
        /**
         * @var array The local acquired locks
@@ -17,40 +18,40 @@ abstract class AbstractLockDriver implements ILockDriver
        protected $acquiredLocks = [];
 
        /**
-        * @brief Check if we've locally acquired a lock
+        * Check if we've locally acquired a lock
         *
         * @param string key The Name of the lock
         * @return bool      Returns true if the lock is set
         */
-       protected function hasAcquiredLock(string $key): bool {
-               return isset($this->acquireLock[$key]);
+       protected function hasAcquiredLock($key) {
+               return isset($this->acquireLock[$key]) && $this->acquiredLocks[$key] === true;
        }
 
        /**
-        * @brief Mark a locally acquired lock
+        * Mark a locally acquired lock
         *
         * @param string $key The Name of the lock
         */
-       protected function markAcquire(string $key) {
+       protected function markAcquire($key) {
                $this->acquiredLocks[$key] = true;
        }
 
        /**
-        * @brief Mark a release of a locally acquired lock
+        * Mark a release of a locally acquired lock
         *
         * @param string $key The Name of the lock
         */
-       protected function markRelease(string $key) {
+       protected function markRelease($key) {
                unset($this->acquiredLocks[$key]);
        }
 
        /**
-        * @brief Releases all lock that were set by us
+        * Releases all lock that were set by us
         *
         * @return void
         */
        public function releaseAll() {
-               foreach ($this->acquiredLocks as $acquiredLock) {
+               foreach ($this->acquiredLocks as $acquiredLock => $hasLock) {
                        $this->releaseLock($acquiredLock);
                }
        }