On Mon, 3 Jun 2002, Doug MacEachern wrote: > On Mon, 3 Jun 2002, Stas Bekman wrote: > > > Does this mean that any END blocks registered during a request handler, > > will be run at the end of it and not at the shutdown? If not where do > > they go if PL_endav is getting reset to its pre-request value. > > only if SetHandler is perl-script, PL_endav becomes tied so any END > subroutines created during the request are stored not in PL_endav, but in > PL_modglobal. the ModPerl::Global::special_list_* api is then used by > ModPerl::Registry to actually invoke or clear the END subroutines that > are stashed within PL_modglobal. > if SetHandler is anything other than perl-script, there is no special > treatment of PL_endav and any END subroutines create at request time in > this case are run at shutdown.
That part is clear now. I've missed the PL_modglobal bit. Thanks. What happens to other handlers, which aren't registry? If a handler requires some module which has an END block or installs one by itself, what happens to it when the handler has done its job. It's stored in PL_modglobal but nobody does anything about it. > > I don't think this is the same as it was in 1.0. I always thought that > > only registry scripts were special regarding BEGIN/END blocks. What do I > > miss? > > it is exactly the same for END subroutines created under the perl-script > handler, only implemented cleaner. > we have never done anything special for BEGIN blocks. that's true. __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]