mmanders 02/04/12 08:55:59
Modified: jk/native/apache-2.0 mod_jk.c
Log:
Moved cleanup routine to the right place. At least on NetWare, the module is loaded
multiple times and the first time, cleanup wasn't happening. Since it is a pool
cleanup, I now register the cleanup where the pool is first used.
Revision Changes Path
1.43 +31 -31 jakarta-tomcat-connectors/jk/native/apache-2.0/mod_jk.c
Index: mod_jk.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/apache-2.0/mod_jk.c,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- mod_jk.c 11 Apr 2002 21:52:43 -0000 1.42
+++ mod_jk.c 12 Apr 2002 15:55:59 -0000 1.43
@@ -60,7 +60,7 @@
* Description: Apache 2 plugin for Jakarta/Tomcat *
* Author: Gal Shachor <[EMAIL PROTECTED]> *
* Henri Gomez <[EMAIL PROTECTED]> *
- * Version: $Revision: 1.42 $ *
+ * Version: $Revision: 1.43 $ *
***************************************************************************/
/*
@@ -1328,6 +1328,35 @@
return DECLINED;
}
+/** Standard apache hook, cleanup jk
+ */
+static apr_status_t jk_apr_pool_cleanup(void *data)
+{
+ server_rec *s = data;
+
+ while (NULL != s)
+ {
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *)ap_get_module_config(s->module_config, &jk_module);
+
+
+ if (conf)
+ {
+ wc_close(conf->log);
+ if (conf->worker_properties)
+ map_free(&conf->worker_properties);
+ if (conf->uri_to_context)
+ map_free(&conf->uri_to_context);
+ if (conf->automount)
+ map_free(&conf->automount);
+ if (conf->uw_map)
+ uri_worker_map_free(&conf->uw_map, conf->log);
+ jk_close_file_logger(&conf->log);
+ }
+ s = s->next;
+ }
+}
+
/** Create default jk_config. XXX This is mostly server-independent,
all servers are using something similar - should go to common.
*/
@@ -1390,6 +1419,7 @@
c->s = s;
+ apr_pool_cleanup_register(p, s, jk_apr_pool_cleanup, jk_apr_pool_cleanup);
return c;
}
@@ -1466,35 +1496,6 @@
return overrides;
}
-/** Standard apache hook, cleanup jk
- */
-static apr_status_t jk_child_exit(void *data)
-{
- server_rec *s = data;
-
- while (NULL != s)
- {
- jk_server_conf_t *conf =
- (jk_server_conf_t *)ap_get_module_config(s->module_config, &jk_module);
-
-
- if (conf)
- {
- wc_close(conf->log);
- if (conf->worker_properties)
- map_free(&conf->worker_properties);
- if (conf->uri_to_context)
- map_free(&conf->uri_to_context);
- if (conf->automount)
- map_free(&conf->automount);
- if (conf->uw_map)
- uri_worker_map_free(&conf->uw_map, conf->log);
- jk_close_file_logger(&conf->log);
- }
- s = s->next;
- }
-}
-
/** Standard apache callback, initialize jk.
*/
static void jk_child_init(apr_pool_t *pconf,
@@ -1503,7 +1504,6 @@
jk_server_conf_t *conf =
(jk_server_conf_t *)ap_get_module_config(s->module_config, &jk_module);
- apr_pool_cleanup_register(pconf, s, jk_child_exit, jk_child_exit);
/* init_jk( pconf, conf, s ); */
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>