On Nov 1, 2007, at 7:33 AM, Rainer Jung wrote:
I didn't have time to go into it, but thanks for the detailed
report. We will fix this before 1.2.26.
Great, I'm glad to hear it.
In case you have a patch to propose, that'll be a good starting point.
Here's one attempt at a patch, which fixes the problem in my limited
testing. It modifies the code path as little as possible, since all
I know about the intended behavior is what I've gleaned from a
cursory audit.
Beware, though, that this patch changes the semantics of the
was_initialized flag somewhat. This code sets it for all
jk_server_conf_t objects, even those for virtual hosts, on whom
init_jk() is never called. This should be safe since it seems that
the only other use of the flag is to check whether wc_close() must be
run, and I think that function is (must be?) idempotent.
Even if this is all correct, it might be better to add another flag
to jk_server_conf_t to indicate that environment-variable and options
initialization has occurred.
--- apache-2.0/mod_jk.c 2007-08-02 05:10:48.000000000 -0700
+++ apache-2.0/mod_jk.c 2007-11-01 17:35:01.000000000 -0700
@@ -2819,7 +2819,6 @@
conf = (jk_server_conf_t *)ap_get_module_config(s-
>module_config,
&jk_module);
if (!conf->was_initialized) {
- conf->was_initialized = JK_TRUE;
/* step through the servers and open each jk logfile
* and do additional post config initialization.
*/
@@ -2828,7 +2827,8 @@
&jk_module);
if (open_jklog(srv, pconf))
return HTTP_INTERNAL_SERVER_ERROR;
- if (sconf) {
+ if (sconf && !sconf->was_initialized) {
+ conf->was_initialized = JK_TRUE;
sconf->options &= ~sconf->exclude_options;
if (!uri_worker_map_alloc(&(sconf->uw_map),
sconf-
>uri_to_context, sconf->log))
--
Ian Ward Comfort <[EMAIL PROTECTED]>
System Administrator, Student Computing, Stanford University
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]