summaryrefslogtreecommitdiffstatsabout
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2010-06-27 19:12:28 (GMT)
committer Nikos Mavrogiannopoulos <nmav@gnutls.org>2010-06-27 19:13:18 (GMT)
commit2b29da0c2ea26907c964bef179337a2cc614a22c (patch)
tree7b1d0929621577aefb00a573e11431a9bf1e93bd
parent622abdd12b5c31c2d506d710456bebd6bfff8603 (diff)
Check the cache DB every 15 minutes instead of checking on every write.
-rw-r--r--NEWS2
-rw-r--r--src/gnutls_cache.c8
2 files changed, 9 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index c0f3a0d..9750e7d 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,8 @@
4- Depend on gnutls 2.10.0 to force support for safe 4- Depend on gnutls 2.10.0 to force support for safe
5 renegotiation. 5 renegotiation.
6 6
7- Optimizations in session caching.
8
7** Version 0.5.6 (2010-03-24) 9** Version 0.5.6 (2010-03-24)
8- Corrected issue with firefox and long POST data (by 10- Corrected issue with firefox and long POST data (by
9 handling EINTR and EAGAIN errors in read). 11 handling EINTR and EAGAIN errors in read).
diff --git a/src/gnutls_cache.c b/src/gnutls_cache.c
index 4d4a661..4d0a733 100644
--- a/src/gnutls_cache.c
+++ b/src/gnutls_cache.c
@@ -309,8 +309,14 @@ static int dbm_cache_expire(mgs_handle_t *ctxt)
309 int keyidx = 0; 309 int keyidx = 0;
310 int should_delete = 0; 310 int should_delete = 0;
311 311
312 apr_pool_create(&spool, ctxt->c->pool);
313 ex = apr_time_now(); 312 ex = apr_time_now();
313
314 if (ex - ctxt->sc->last_cache_check < 900)
315 return 0;
316
317 ctxt->sc->last_cache_check = ex;
318
319 apr_pool_create(&spool, ctxt->c->pool);
314 320
315 rv = apr_dbm_open(&dbm, ctxt->sc->cache_config, APR_DBM_READONLY, 321 rv = apr_dbm_open(&dbm, ctxt->sc->cache_config, APR_DBM_READONLY,
316 SSL_DBM_FILE_MODE, spool); 322 SSL_DBM_FILE_MODE, spool);