You are here

function _apdqc_lock_release_all in Asynchronous Prefetch Database Query Cache 7

Same name in this branch
  1. 7 apdqc.lock.apc.inc \_apdqc_lock_release_all()
  2. 7 apdqc.lock.db.inc \_apdqc_lock_release_all()
  3. 7 apdqc.lock.memcache_storage.inc \_apdqc_lock_release_all()
  4. 7 apdqc.lock.memcache.inc \_apdqc_lock_release_all()
  5. 7 apdqc.lock.redis.inc \_apdqc_lock_release_all()

Release all previously acquired locks.

1 call to _apdqc_lock_release_all()
apdqc.lock.inc in ./apdqc.lock.inc
A database-mediated implementation of a locking mechanism.
1 string reference to '_apdqc_lock_release_all'
apdqc.lock.inc in ./apdqc.lock.inc
A database-mediated implementation of a locking mechanism.

File

./apdqc.lock.memcache_storage.inc, line 169
A memcached based implementation of a locking mechanism.

Code

function _apdqc_lock_release_all($lock_id = NULL) {
  global $locks;
  if (empty($lock_id)) {
    $lock_id = _lock_id();
  }

  // Remove all current locks from memcached pool.
  foreach ($locks as $name => $id) {
    $lock = MemcacheStorageAPI::get($name, 'semaphore');
    if ($lock && $lock == $lock_id) {
      MemcacheStorageAPI::delete($name, 'semaphore');
    }
  }

  // Clear global variable.
  $locks = array();
}