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);
 }
