> > This approach has an aesthetic problem that annoys me. If mod_yadda
> wants
> > to insert its
> > own replacement of CORE_IN and CORE_OUT, how does it reliable do so
> and
> > ensure:
> >
> > 1. CORE_IN and CORE_OUT are not also installed (their presence in the
> > filter chain when
> > they are not used is not right IMHO).
> > 2. That YADDA_IN and YADDA_OUT are installed at the appropriate place
> (ie,
> > they are not
> > installed above the NET_TIME filter for instance).
>
> The onus is on mod_yadda to make sure that things happen at the right
> time.  This means that mod_yadda would register a pre_connection hook,
> most likely with the following arguments:
>
> ap_register_pre_connection(yadda_pre_conn, {"core.c", NULL}, NULL,
> APR_HOOK_REALLY_LAST);

The core_pre_conn hook is declared APR_HOOK_REALLY_LAST. So which of the two 
'REALLY_LAST'
hooks (core_pre_conn or yadda_pre_conn) is really last? :-)

If the answer is completely unrelated to order of config directives (or unrelated to
configuration directives in general) then I am a bit happier with eliminating the
install_transport_filter hook. However...

If the answer is 'it depends', then I am still leaning toward keeping the
install_transport_filters hook.  We are unlikely to have many modules that need to hook
install_transport_filters. That fact translates into fewer opportunities for third 
party
modules or configuration directives to declare themselves 'REALLY_LAST' and hose up
everything accidently. Does that make sense?

Bill


Reply via email to