? cache_flush.patch
Index: cacherouter.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/cacherouter/cacherouter.inc,v
retrieving revision 1.2.2.12
diff -u -p -r1.2.2.12 cacherouter.inc
--- cacherouter.inc	5 Sep 2009 13:03:25 -0000	1.2.2.12
+++ cacherouter.inc	5 Sep 2009 17:20:14 -0000
@@ -135,16 +135,16 @@ function cache_clear_all($key = NULL, $t
       // cached data that was cached before the timestamp.
       $user->cache = 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', time());
+        variable_set('cache_flush_'. $table, time());
       }
       else 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.
         $cache->flush($table);
-        variable_set('cache_flush', 0);
+        variable_set('cache_flush_'. $table, 0);
       }
     }
     else {
Index: engines/file.php
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/cacherouter/engines/file.php,v
retrieving revision 1.1.2.17
diff -u -p -r1.1.2.17 file.php
--- engines/file.php	5 Sep 2009 13:03:25 -0000	1.1.2.17
+++ engines/file.php	5 Sep 2009 17:20:14 -0000
@@ -55,9 +55,9 @@ class fileCache extends Cache {
     }
     else {
       // garbage collection necessary when enforcing a minimum cache lifetime
-      $cache_flush = variable_get('cache_flush', 0);
+      $cache_flush = variable_get('cache_flush_'. $this->name, 0);
       if ($cache_flush && ($cache_flush + $cache_lifetime <= time())) {
-        variable_set('cache_flush', 0);
+        variable_set('cache_flush_'. $this->name, 0);
       }
     }
 
