? boost-623536.patch
? boost-623578.patch
Index: boost.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/boost/boost.module,v
retrieving revision 1.3.2.2.2.5.2.228
diff -u -p -r1.3.2.2.2.5.2.228 boost.module
--- boost.module 3 Nov 2009 06:40:08 -0000 1.3.2.2.2.5.2.228
+++ boost.module 5 Nov 2009 20:36:33 -0000
@@ -1605,15 +1605,24 @@ function boost_cache_expire_by_db($paths
$sql = implode("' OR hash = '", array_unique($hashes));
$result = db_query("SELECT * FROM {boost_cache} WHERE hash = '" . $sql . "'");
- // Eliminate duplicates
+ // Eliminate duplicates with the key hash
$data = array();
+ $counter = 0;
while ($info = db_fetch_array($result)) {
- $hash = BOOST_FILE_PATH . $info['page_callback'] . $info['page_type'] . $info['page_id'];
- $data[$hash] = $info;
+ if ($info['page_id'] != '' && $info['page_type'] != '' && $info['page_callback'] != '') {
+ // Use boost_cache_expire_router() if we can get a 'lock' on this item in the database
+ $hash = BOOST_FILE_PATH . $info['page_callback'] . $info['page_type'] . $info['page_id'];
+ $data[$hash] = $info;
+ }
+ else {
+ // If we can't get a 'lock' just expire the file
+ $counter += boost_cache_kill($info['filename']);
+ }
}
// Expire all files that match up
- return boost_cache_expire_router($data);
+ $counter += boost_cache_expire_router($data);
+ return $counter;
}
@@ -1747,7 +1756,7 @@ function boost_cache_expire_router($rout
}
}
if (BOOST_VERBOSE >= 9) {
- watchdog('boost', 'Debug: boost_cache_expire_router()
Following files where flushed:
!list', array('!list' => implode('
', $list)));
+ watchdog('boost', 'Debug: boost_cache_expire_router()
Following files where flushed:
!list
Input:
!input', array('!list' => implode('
', $list), '!input' => boost_print_r($router_items, TRUE, TRUE)));
}
return $count;
}