You are here

function _lock_id in Memcache Storage 7

Helper function to get this request's unique id.

3 calls to _lock_id()
lock_acquire in includes/lock.inc
Acquire (or renew) a lock, but do not block if it fails.
lock_release in includes/lock.inc
Release a lock previously acquired by lock_acquire().
lock_release_all in includes/lock.inc
Release all previously acquired locks.

File

includes/lock.inc, line 21
A memcached based implementation of a locking mechanism. See includes/lock.inc for documentation.

Code

function _lock_id() {

  // Do not use drupal_static(). This identifier refers to the current
  // client request, and must not be changed under any circumstances
  // else the shutdown handler may fail to release our locks.
  static $lock_id;
  if (!isset($lock_id)) {

    // Assign a unique id.
    $lock_id = uniqid(mt_rand(), TRUE);

    // We only register a shutdown function if a lock is used.
    drupal_register_shutdown_function('lock_release_all', $lock_id);
  }
  return $lock_id;
}