Use microtime() instead of incrementors for last_changed to to avoid race conditions with cache evictions.

Props westi
fixes #23448


git-svn-id: https://develop.svn.wordpress.org/trunk@23401 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Ryan Boren
2013-02-11 18:08:14 +00:00
parent 679339ffaa
commit 77e5536195
4 changed files with 8 additions and 28 deletions
+2 -7
View File
@@ -3653,7 +3653,7 @@ function get_pages($args = '') {
$key = md5( serialize( compact(array_keys($defaults)) ) );
$last_changed = wp_cache_get( 'last_changed', 'posts' );
if ( ! $last_changed ) {
$last_changed = 1;
$last_changed = microtime();
wp_cache_set( 'last_changed', $last_changed, 'posts' );
}
@@ -4672,12 +4672,7 @@ function clean_post_cache( $post ) {
do_action( 'clean_page_cache', $post->ID );
}
if ( function_exists( 'wp_cache_incr' ) ) {
wp_cache_incr( 'last_changed', 1, 'posts' );
} else {
$last_changed = wp_cache_get( 'last_changed', 'posts' );
wp_cache_set( 'last_changed', $last_changed + 1, 'posts' );
}
wp_cache_set( 'last_changed', microtime(), 'posts' );
}
/**