From 920babfe6ea1c929d7df16631e4de52f0646e518 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Tue, 21 Apr 2009 17:15:51 +0000 Subject: - Patch #227228 by catch et al: fix a problem with minumum cache lifetime being global. --- includes/cache.inc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'includes') diff --git a/includes/cache.inc b/includes/cache.inc index 21f79ba6b..6d9c94e61 100644 --- a/includes/cache.inc +++ b/includes/cache.inc @@ -18,10 +18,10 @@ function cache_get($cid, $table = 'cache') { global $user; // Garbage collection necessary when enforcing a minimum cache lifetime - $cache_flush = variable_get('cache_flush', 0); + $cache_flush = variable_get('cache_flush_' . $table, 0); if ($cache_flush && ($cache_flush + variable_get('cache_lifetime', 0) <= REQUEST_TIME)) { // Reset the variable immediately to prevent a meltdown in heavy load situations. - variable_set('cache_flush', 0); + variable_set('cache_flush_' . $table, 0); // Time to flush old cache data db_delete($table) ->condition('expire', CACHE_PERMANENT, '<>') @@ -165,10 +165,10 @@ function cache_clear_all($cid = NULL, $table = NULL, $wildcard = FALSE) { // cached data that was cached before the timestamp. $user->cache = REQUEST_TIME; - $cache_flush = variable_get('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', REQUEST_TIME); + variable_set('cache_flush_' . $table, REQUEST_TIME); } elseif (REQUEST_TIME > ($cache_flush + variable_get('cache_lifetime', 0))) { // Clear the cache for everyone, cache_flush_delay seconds have @@ -177,7 +177,7 @@ function cache_clear_all($cid = NULL, $table = NULL, $wildcard = FALSE) { ->condition('expire', CACHE_PERMANENT, '<>') ->condition('expire', REQUEST_TIME, '<') ->execute(); - variable_set('cache_flush', 0); + variable_set('cache_flush_' . $table, 0); } } else { -- cgit v1.2.3