summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/lock/memcachelockingprovider.php3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/private/lock/memcachelockingprovider.php b/lib/private/lock/memcachelockingprovider.php
index 3f32ab1d8c5..85b62c8340f 100644
--- a/lib/private/lock/memcachelockingprovider.php
+++ b/lib/private/lock/memcachelockingprovider.php
@@ -91,9 +91,10 @@ class MemcacheLockingProvider implements ILockingProvider {
if (isset($this->acquiredLocks['shared'][$path]) and $this->acquiredLocks['shared'][$path] > 0) {
$this->memcache->dec($path);
$this->acquiredLocks['shared'][$path]--;
+ $this->memcache->cad($path, 0);
}
} else if ($type === self::LOCK_EXCLUSIVE) {
- $this->memcache->cas($path, 'exclusive', 0);
+ $this->memcache->cad($path, 'exclusive');
unset($this->acquiredLocks['exclusive'][$path]);
}
}