]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Lock/AbstractLockDriver.php
Merge pull request #6955 from tobiasd/20190331-vier
[friendica.git] / src / Core / Lock / AbstractLockDriver.php
index 09549c50bf9540d7448598f86bb7529f554df6fd..0aedeeb1b09ab61cdf71c144c7df3b6cd02e6263 100644 (file)
@@ -8,7 +8,7 @@ use Friendica\BaseObject;
  *
  * @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 extends BaseObject implements ILockDriver
 {
@@ -18,41 +18,51 @@ abstract class AbstractLockDriver extends BaseObject 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($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($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($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
+        * @return boolean Was the unlock of all locks successful?
         */
-       public function releaseAll() {
+       public function releaseAll()
+       {
+               $return = true;
+
                foreach ($this->acquiredLocks as $acquiredLock => $hasLock) {
-                       $this->releaseLock($acquiredLock);
+                       if (!$this->releaseLock($acquiredLock)) {
+                               $return = false;
+                       }
                }
+
+               return $return;
        }
 }