From: Graham Leggett Date: Wed, 30 Nov 2011 21:56:11 +0000 (+0000) Subject: mod_cache: Apply the API change that allows future mod_cache providers to X-Git-Tag: 2.5.0-alpha~7769 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0d00b5d01fe65cc47daaa29c796574c81a0849d;p=thirdparty%2Fapache%2Fhttpd.git mod_cache: Apply the API change that allows future mod_cache providers to invalidate cache entries, which will fix PR15868. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1208822 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/include/ap_mmn.h b/include/ap_mmn.h index 6479a4cb4f2..3a800cdff02 100644 --- a/include/ap_mmn.h +++ b/include/ap_mmn.h @@ -370,12 +370,13 @@ * 20111120.0 (2.5.0-dev) Remove parts of conn_state_t that are private to the MPM * 20111121.0 (2.5.0-dev) Pass ap_errorlog_info struct to error_log hook, * add pool to ap_errorlog_info. + * 20111201.0 (2.5.0-dev) Add invalidate_entity() to the cache provider. */ #define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */ #ifndef MODULE_MAGIC_NUMBER_MAJOR -#define MODULE_MAGIC_NUMBER_MAJOR 20111121 +#define MODULE_MAGIC_NUMBER_MAJOR 20111201 #endif #define MODULE_MAGIC_NUMBER_MINOR 0 /* 0...n */ diff --git a/modules/cache/mod_cache.h b/modules/cache/mod_cache.h index 70c4bc43ccd..90c3766ce25 100644 --- a/modules/cache/mod_cache.h +++ b/modules/cache/mod_cache.h @@ -109,6 +109,7 @@ typedef struct { const char *urlkey); int (*remove_url) (cache_handle_t *h, request_rec *r); apr_status_t (*commit_entity)(cache_handle_t *h, request_rec *r); + apr_status_t (*invalidate_entity)(cache_handle_t *h, request_rec *r); } cache_provider; typedef enum { diff --git a/modules/cache/mod_cache_disk.c b/modules/cache/mod_cache_disk.c index 0ccfe22b6c7..87fdef68160 100644 --- a/modules/cache/mod_cache_disk.c +++ b/modules/cache/mod_cache_disk.c @@ -1325,6 +1325,11 @@ static apr_status_t commit_entity(cache_handle_t *h, request_rec *r) return APR_SUCCESS; } +static apr_status_t invalidate_entity(cache_handle_t *h, request_rec *r) +{ + return APR_ENOTIMPL; +} + static void *create_dir_config(apr_pool_t *p, char *dummy) { disk_cache_dir_conf *dconf = apr_pcalloc(p, sizeof(disk_cache_dir_conf)); @@ -1502,7 +1507,8 @@ static const cache_provider cache_disk_provider = &create_entity, &open_entity, &remove_url, - &commit_entity + &commit_entity, + &invalidate_entity }; static void disk_cache_register_hook(apr_pool_t *p)