]> granicus.if.org Git - apache/commitdiff
Actually use the compare_cache_size value that is being set by LDAPOpCacheEntries...
authorBradley Nicholes <bnicholes@apache.org>
Wed, 30 Mar 2005 23:25:47 +0000 (23:25 +0000)
committerBradley Nicholes <bnicholes@apache.org>
Wed, 30 Mar 2005 23:25:47 +0000 (23:25 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@159542 13f79535-47bb-0310-9956-ffa450edef68

modules/ldap/util_ldap_cache.c
modules/ldap/util_ldap_cache.h
modules/ldap/util_ldap_cache_mgr.c

index ce95c59b95d2b533bdb17935326e944b08cadf7d..e8feca84e69ed0c5b451110e03b8cbed3db4408d 100644 (file)
@@ -428,6 +428,7 @@ apr_status_t util_ldap_cache_init(apr_pool_t *pool, util_ldap_state_t *st)
 
     st->util_ldap_cache =
         util_ald_create_cache(st,
+                              st->search_cache_size,
                               util_ldap_url_node_hash,
                               util_ldap_url_node_compare,
                               util_ldap_url_node_copy,
index 65580f574aa0be627f700ede66986ea8b6f79207..9ba722c7e95c44e26ac3849058567a818ffa8b4a 100644 (file)
@@ -174,6 +174,7 @@ unsigned long util_ald_hash_string(int nstr, ...);
 void util_ald_cache_purge(util_ald_cache_t *cache);
 util_url_node_t *util_ald_create_caches(util_ldap_state_t *s, const char *url);
 util_ald_cache_t *util_ald_create_cache(util_ldap_state_t *st,
+                                long cache_size,
                                 unsigned long (*hashfunc)(void *), 
                                 int (*comparefunc)(void *, void *),
                                 void * (*copyfunc)(util_ald_cache_t *cache, void *),
index 092e21f62b4a13add831253e4fe5a94a17b06142..54021a9f3750c718b941b1b0c2a1802a25ec2e31 100644 (file)
@@ -179,7 +179,7 @@ void util_ald_cache_purge(util_ald_cache_t *cache)
 
     if (!cache)
         return;
-  
+
     cache->last_purge = apr_time_now();
     cache->npurged = 0;
     cache->numpurges++;
@@ -222,18 +222,21 @@ util_url_node_t *util_ald_create_caches(util_ldap_state_t *st, const char *url)
 
     /* create the three caches */
     search_cache = util_ald_create_cache(st,
+                      st->search_cache_size,
                       util_ldap_search_node_hash,
                       util_ldap_search_node_compare,
                       util_ldap_search_node_copy,
                       util_ldap_search_node_free,
                       util_ldap_search_node_display);
     compare_cache = util_ald_create_cache(st,
+                      st->compare_cache_size,
                       util_ldap_compare_node_hash,
                       util_ldap_compare_node_compare,
                       util_ldap_compare_node_copy,
                       util_ldap_compare_node_free,
                       util_ldap_compare_node_display);
     dn_compare_cache = util_ald_create_cache(st,
+                      st->compare_cache_size,
                       util_ldap_dn_compare_node_hash,
                       util_ldap_dn_compare_node_compare,
                       util_ldap_dn_compare_node_copy,
@@ -261,6 +264,7 @@ util_url_node_t *util_ald_create_caches(util_ldap_state_t *st, const char *url)
 
 
 util_ald_cache_t *util_ald_create_cache(util_ldap_state_t *st,
+                                long cache_size,
                                 unsigned long (*hashfunc)(void *), 
                                 int (*comparefunc)(void *, void *),
                                 void * (*copyfunc)(util_ald_cache_t *cache, void *),
@@ -270,7 +274,7 @@ util_ald_cache_t *util_ald_create_cache(util_ldap_state_t *st,
     util_ald_cache_t *cache;
     unsigned long i;
 
-    if (st->search_cache_size <= 0)
+    if (cache_size <= 0)
         return NULL;
 
 #if APR_HAS_SHARED_MEMORY
@@ -291,9 +295,9 @@ util_ald_cache_t *util_ald_create_cache(util_ldap_state_t *st,
     cache->rmm_addr = st->cache_rmm;
     cache->shm_addr = st->cache_shm;
 #endif
-    cache->maxentries = st->search_cache_size;
+    cache->maxentries = cache_size;
     cache->numentries = 0;
-    cache->size = st->search_cache_size / 3;
+    cache->size = cache_size / 3;
     if (cache->size < 64) cache->size = 64;
         for (i = 0; primes[i] && primes[i] < cache->size; ++i) ;
             cache->size = primes[i]? primes[i] : primes[i-1];
@@ -526,7 +530,7 @@ char *util_ald_cache_display_stats(request_rec *r, util_ald_cache_t *cache, char
              buf);
     }
 
-    buf = apr_psprintf(p, "%s<td align='right'>%.2g</td>\n</tr>", buf, cache->avg_purgetime);
+    buf = apr_psprintf(p, "%s<td align='right'>%.2gms</td>\n</tr>", buf, cache->avg_purgetime);
 
     return buf;
 }