From d26e83ac8cecd0e9c29991cb9c673a4487f4ec81 Mon Sep 17 00:00:00 2001 From: rcritten <> Date: Wed, 16 Jul 2008 15:15:39 +0000 Subject: Restore moduleKill function so that NSS remains initialized during the entire configuration state. Other modules were relying on mod_nss leaving NSS initialized. 453508 --- nss_engine_init.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/nss_engine_init.c b/nss_engine_init.c index ed34ba1..fc3bd25 100644 --- a/nss_engine_init.c +++ b/nss_engine_init.c @@ -315,6 +315,13 @@ int nss_init_Module(apr_pool_t *p, apr_pool_t *plog, mc->nInitCount++; + /* + * Let us cleanup on restarts and exists + */ + apr_pool_cleanup_register(p, base_server, + nss_init_ModuleKill, + apr_pool_cleanup_null); + mc->ptemp = ptemp; /* @@ -491,9 +498,6 @@ int nss_init_Module(apr_pool_t *p, apr_pool_t *plog, */ nss_init_ConfigureServer(s, p, ptemp, sc); } - - nss_init_ChildKill(base_server); - nss_init_ModuleKill(base_server); } /* @@ -1144,12 +1148,16 @@ void nss_init_Child(apr_pool_t *p, server_rec *base_server) apr_status_t nss_init_ModuleKill(void *data) { server_rec *base_server = (server_rec *)data; + SSLModConfigRec *mc = myModConfig(base_server); ap_log_error(APLOG_MARK, APLOG_INFO, 0, base_server, "Shutting down SSL Session ID Cache"); SSL_ShutdownServerSessionIDCache(); + if (mc->nInitCount == 1) + nss_init_ChildKill(base_server); + /* NSS_Shutdown() gets called in nss_init_ChildKill */ return APR_SUCCESS; } -- cgit