Return-Path: Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 90282 invoked by uid 500); 24 May 2002 14:41:09 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 90269 invoked by uid 500); 24 May 2002 14:41:09 -0000 Delivered-To: apmail-httpd-2.0-cvs@apache.org Date: 24 May 2002 14:41:08 -0000 Message-ID: <20020524144108.62095.qmail@icarus.apache.org> From: stoddard@apache.org To: httpd-2.0-cvs@apache.org Subject: cvs commit: httpd-2.0/modules/experimental cache_hash.c cache_hash.h mod_mem_cache.c X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N stoddard 02/05/24 07:41:08 Modified: modules/experimental cache_hash.c cache_hash.h mod_mem_cache.c Log: Expose a new cache_hash function to free the hash table. Revision Changes Path 1.6 +9 -0 httpd-2.0/modules/experimental/cache_hash.c Index: cache_hash.c =================================================================== RCS file: /home/cvs/httpd-2.0/modules/experimental/cache_hash.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- cache_hash.c 10 May 2002 17:15:35 -0000 1.5 +++ cache_hash.c 24 May 2002 14:41:08 -0000 1.6 @@ -139,6 +139,15 @@ return ht; } +CACHE_DECLARE(void) cache_hash_free(cache_hash_t *ht) +{ + if (ht) { + if (ht->array) { + free (ht->array); + } + free (ht); + } +} /* * Hash iteration functions. */ 1.5 +11 -0 httpd-2.0/modules/experimental/cache_hash.h Index: cache_hash.h =================================================================== RCS file: /home/cvs/httpd-2.0/modules/experimental/cache_hash.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- cache_hash.h 6 May 2002 01:10:24 -0000 1.4 +++ cache_hash.h 24 May 2002 14:41:08 -0000 1.5 @@ -105,6 +105,17 @@ */ CACHE_DECLARE(cache_hash_t *) cache_hash_make(apr_size_t size); +/** + * Create a hash table. + * @param *ht Pointer to the hash table to be freed. + * @return void + * @remark The caller should ensure that all objects have been removed + * from the cache prior to calling cache_hash_free(). Objects + * not removed from the cache prior to calling cache_hash_free() + * will be unaccessable. + */ +CACHE_DECLARE(void) cache_hash_free(cache_hash_t *ht); + /** * Associate a value with a key in a hash table. 1.60 +3 -0 httpd-2.0/modules/experimental/mod_mem_cache.c Index: mod_mem_cache.c =================================================================== RCS file: /home/cvs/httpd-2.0/modules/experimental/mod_mem_cache.c,v retrieving revision 1.59 retrieving revision 1.60 diff -u -r1.59 -r1.60 --- mod_mem_cache.c 17 May 2002 11:33:09 -0000 1.59 +++ mod_mem_cache.c 24 May 2002 14:41:08 -0000 1.60 @@ -268,6 +268,9 @@ } } + /* Cache is empty, free the cache table */ + cache_hash_free(co->cacheht); + if (sconf->lock) { apr_thread_mutex_unlock(sconf->lock); }