From: Graham Leggett Date: Mon, 4 Oct 2010 19:27:22 +0000 (+0000) Subject: mod_cache: Don't regenerate the cache key if we have already generated it. X-Git-Tag: 2.3.9~355 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=38d82baaaec0a4a1603b017491827906b51134a5;p=thirdparty%2Fapache%2Fhttpd.git mod_cache: Don't regenerate the cache key if we have already generated it. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1004373 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/cache/cache_storage.c b/modules/cache/cache_storage.c index d96b76c1622..c0bea512621 100644 --- a/modules/cache/cache_storage.c +++ b/modules/cache/cache_storage.c @@ -84,9 +84,11 @@ int cache_create_entity(cache_request_rec *cache, request_rec *r, return APR_EGENERAL; } - rv = cache_generate_key(r, r->pool, &cache->key); - if (rv != APR_SUCCESS) { - return rv; + if (!cache->key) { + rv = cache_generate_key(r, r->pool, &cache->key); + if (rv != APR_SUCCESS) { + return rv; + } } list = cache->providers; @@ -207,9 +209,11 @@ int cache_select(cache_request_rec *cache, request_rec *r) return APR_EGENERAL; } - rv = cache_generate_key(r, r->pool, &cache->key); - if (rv != APR_SUCCESS) { - return rv; + if (!cache->key) { + rv = cache_generate_key(r, r->pool, &cache->key); + if (rv != APR_SUCCESS) { + return rv; + } } if (!ap_cache_check_allowed(r)) {