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]

Reply via email to