Index: all/modules/memcache/dmemcache.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/memcache/dmemcache.inc,v retrieving revision 1.1.2.7.2.4 diff -u -r1.1.2.7.2.4 dmemcache.inc --- all/modules/memcache/dmemcache.inc 26 Jan 2009 21:12:04 -0000 1.1.2.7.2.4 +++ all/modules/memcache/dmemcache.inc 19 May 2009 18:11:19 -0000 @@ -66,12 +66,12 @@ // try and grab a lock. If we get the lock, we return FALSE instead of // the cached object which should cause it to be rebuilt. If we do not // get the lock, we return the cached object. The goal here is to avoid - // cache stampedes. + // cache stampedes. // By default the cache stampede semaphore is held for 15 seconds. This // can be adjusted by setting the memcache_stampede_semaphore variable. // TODO: Can we log when a sempahore expires versus being intentionally // freed to track when this is happening? - if ($result->expire && $result->expire <= time() && $mc->add($full_key .'_semaphore', '', FALSE, variable_get('memcache_stampede_semaphore', 15))) { + if (isset($result->expire) && $result->expire && $result->expire <= time() && $mc->add($full_key .'_semaphore', '', FALSE, variable_get('memcache_stampede_semaphore', 15))) { $result = FALSE; } else { @@ -223,12 +223,11 @@ function dmemcache_key($key, $bin = 'cache') { static $prefix; - // memcache_key_prefix can be set in settings.php to support site namespaces + // default_key_prefix can be set in settings.php to support site namespaces // in a multisite environment. if (empty($prefix)) { - $prefix = variable_get('memcache_key_prefix', ''); + $prefix = variable_get('default_key_prefix', ''); } - $full_key = ($prefix ? $prefix. '-' : '') . $bin . '-' . $key; - + $full_key = (isset($prefix[$bin]) ? $prefix[$bin]. '-' : (isset($prefix['default_key_prefix']) ? $prefix['default_key_prefix'] : '') . '-') . $bin . '-' . $key; return urlencode($full_key); }