Apache 1.3.22 mod_perl 1.26 I have noticed some strange behavior when attempting to stack handlers below the 'ChildInit' phase. This code executes fine when placed in a server initialization script: Apache->push_handlers( PerlChildInitHandler=> \&My::Child::handler );
When using the code below in a server initialization script without any apache config directives the handler does not get called. Apache->push_handlers( PerlHandler=> \&My::handler ); When applying the following apache conf directive the handler seems to only get called occasionally (initialization of child process?). <Files *.html> SetHandler perl-script </Files> Although, when using the 'push_handlers' method at another part of the request phase the handler gets called occasionally. Apache->push_handlers( PerlFixupHandler=> \&My::Other::handler ); When using the method below the handlers do not get called at all. Apache->httpd_conf(<<EOF); <Files *.html> PerlHandler My::handler SetHandler perl-script </Files> EOF Apache->httpd_conf(<<EOF); PerlFixupHandler My::Other::handler EOF Of course when setting the directives into the apache conf all seems to work well. PerlFixupHandler My::Other <Files *.html> PerlHandler My SetHandler perl-script </Files> Any ideas as to why this strange behavior? When trying to use the 'set_handlers' method it blows up stating the request object is not created. I cannot see the reason why the request object should be needed to set/push handlers which are used to 'handle' the request phases. Thanks,