diff options
author | Nikos Mavrogiannopoulos | 2010-06-27 21:12:28 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos | 2010-06-27 21:13:18 +0200 |
commit | e15cc41ffbbf00baf00bc97c534468e521bbf1e6 (patch) | |
tree | 7b1d0929621577aefb00a573e11431a9bf1e93bd | |
parent | 67dcd101af5d7086fd6703278f4f91072c91b29d (diff) |
Check the cache DB every 15 minutes instead of checking on every write.
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | src/gnutls_cache.c | 8 |
2 files changed, 9 insertions, 1 deletions
@@ -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); |