Index: cache.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/cache.inc,v retrieving revision 1.5.2.4 diff -u -r1.5.2.4 cache.inc --- cache.inc 27 Jun 2007 03:35:48 -0000 1.5.2.4 +++ cache.inc 28 Jan 2008 22:27:49 -0000 @@ -16,9 +16,10 @@ // 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())) { + // Reset the variable immediately to prevent a meltdown in heavy load situations. + variable_set('cache_flush', 0); // Time to flush old cache data db_query("DELETE FROM {". $table ."} WHERE expire != %d AND expire <= %d", CACHE_PERMANENT, $cache_flush); - variable_set('cache_flush', 0); } $cache = db_fetch_object(db_query("SELECT data, created, headers, expire FROM {". $table ."} WHERE cid = '%s'", $key)); @@ -164,4 +165,3 @@ } } } -