Author: rcritten
Update of /cvs/dirsec/mod_nss
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30189
Modified Files:
nss_engine_init.c
Log Message:
Restore moduleKill function so that NSS remains initialized during the
entire configuration state. Other modules were relying on mod_nss
leaving NSS initialized.
453508
Index: nss_engine_init.c
===================================================================
RCS file: /cvs/dirsec/mod_nss/nss_engine_init.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- nss_engine_init.c 14 Jul 2008 20:25:53 -0000 1.33
+++ nss_engine_init.c 16 Jul 2008 15:15:39 -0000 1.34
@@ -315,6 +315,13 @@
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 @@
*/
nss_init_ConfigureServer(s, p, ptemp, sc);
}
-
- nss_init_ChildKill(base_server);
- nss_init_ModuleKill(base_server);
}
/*
@@ -1144,12 +1148,16 @@
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;
}