Index: cache.inc =================================================================== --- cache.inc (revision 2376) +++ cache.inc (working copy) @@ -14,12 +14,12 @@ global $user; // Garbage collection necessary when enforcing a minimum cache lifetime - $cache_flush = variable_get('cache_flush', 0); - if ($cache_flush && ($cache_flush + variable_get('cache_lifetime', 0) <= time())) { + $cache_flush = variable_get("cache_flush_$table", 0); + if ($cache_flush + variable_get('cache_lifetime', 0) <= time()) { // Reset the variable immediately to prevent a meltdown in heavy load situations. - variable_set('cache_flush', 0); + variable_set("cache_flush_$table", time()); // Time to flush old cache data - db_query("DELETE FROM {". $table ."} WHERE expire != %d AND expire <= %d", CACHE_PERMANENT, $cache_flush); + db_query("DELETE FROM {". $table ."} WHERE expire != %d AND expire <= %d", CACHE_PERMANENT, time()); } $cache = db_fetch_object(db_query("SELECT data, created, headers, expire FROM {". $table ."} WHERE cid = '%s'", $key)); @@ -134,16 +134,16 @@ // cached data that was cached before the timestamp. $user->cache = time(); - $cache_flush = variable_get('cache_flush', 0); - if ($cache_flush == 0) { + $cache_flush = variable_get("cache_flush_$table", 0); + //if ($cache_flush == 0) { // This is the first request to clear the cache, start a timer. - variable_set('cache_flush', time()); - } - else if (time() > ($cache_flush + variable_get('cache_lifetime', 0))) { + // variable_set("cache_flush_$table", time()); + //} + if (time() > ($cache_flush + variable_get('cache_lifetime', 0))) { // Clear the cache for everyone, cache_flush_delay seconds have // passed since the first request to clear the cache. db_query("DELETE FROM {". $table. "} WHERE expire != %d AND expire < %d", CACHE_PERMANENT, time()); - variable_set('cache_flush', 0); + variable_set("cache_flush_$table", time()); } } else {