> So I have been playing with different combinations of push_handlers()
> and it looks like it's working properly for RUN_FIRST handlers (my
> initial success with using DECLINED instead of OK) but not RUN_ALL
> handlers.
argh.
> Here's the test case, run make test and check the log to see
> which handlers ran. Anyone?
well, I added something simple to the test suite, which looks like what
you're trying to do, but I couldn't get it to fail.
could you adjust this patch so that you can replicate the problem then
submit it to dev? that way we have something in the test suite that
exhibits the problem so we can replicate it and keep from regressing
later on.
thanks
--Geoff
Index: t/hooks/stacked_handlers2.t
===================================================================
--- t/hooks/stacked_handlers2.t (revision 419883)
+++ t/hooks/stacked_handlers2.t (working copy)
@@ -26,7 +26,7 @@
ran 2 PerlAuthenHandler handlers
ran 2 PerlAuthzHandler handlers
ran 1 PerlTypeHandler handlers
-ran 2 PerlFixupHandler handlers
+ran 4 PerlFixupHandler handlers
ran 2 PerlResponseHandler handlers
ran 2 PerlOutputFilterHandler handlers!;
Index: t/hooks/TestHooks/stacked_handlers2.pm
===================================================================
--- t/hooks/TestHooks/stacked_handlers2.pm (revision 419883)
+++ t/hooks/TestHooks/stacked_handlers2.pm (working copy)
@@ -45,6 +45,17 @@
return Apache2::Const::SERVER_ERROR;
}
+sub push_handlers {
+
+ my $r = shift;
+
+ $r->push_handlers(PerlFixupHandler => \&ok);
+
+ callback($r);
+
+ return Apache2::Const::OK;
+}
+
sub callback {
my $obj = shift;
@@ -167,7 +178,8 @@
# 1 run, 1 left behind
PerlTypeHandler TestHooks::stacked_handlers2::ok TestHooks::stacked_handlers3::server_error
- # all 2 run
+ # all 4 run
+ PerlFixupHandler TestHooks::stacked_handlers2::push_handlers
PerlFixupHandler TestHooks::stacked_handlers2::ok TestHooks::stacked_handlers2::ok
# 2 run, 2 left behind