[prev in list] [next in list] [prev in thread] [next in thread]
List: apache-modperl
Subject: [PATCH] fix for dso/mod_perl
From: Doug MacEachern <dougm () pobox ! com>
Date: 1998-08-31 17:50:24
[Download RAW message or body]
I finnally dug into this dso/mod_perl problem and found a fix, but not sure
if it's the right one, mostly because I can't imagine why mod_perl is the
only module bitten by this. I started httpd in the debugger, with
breakpoints in mod_so.c:load_module() and http_config.c:ap_add_module().
On the first pass, during startup, I see
top_module == &perl_module, on the second pass, top_module ==
&setenvif_module.
Then, the httpd goes on to choke on any mod_perl directive, since mod_perl
is not in the top_module list. When inside ap_add_loaded_module(), I see
this:
if (m->next == NULL) {
m->next = top_module;
top_module = m;
}
but, when mod_perl is being added, m->next != NULL, the patch below to
ap_remove_module() fixes this problem and mod_perl/dso passes 'make test'
100% for me. Thoughts, please?
-Doug
--- http_config.c 1998/08/13 01:55:06 1.125
+++ http_config.c 1998/09/01 00:38:31
@@ -598,6 +598,7 @@
if (modp == m) {
/* We are the top module, special case */
top_module = modp->next;
+ m->next = NULL;
}
else {
/* Not the top module, find use. When found modp will
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic