Geoffrey Young wrote:
>>There is another performance issue with setvars I'm thinking about.
>>Currently when you perform $r->dir_config I have to merge the
>>directory
>>and server configs and give you the new table. This may be very
>>expensive. Now we could avoid this by doing a deeper merge at the
>>configuration stage, but since we allow
>>$s->dir_config->set|add the $s'
>>vars can change and our merged version be wrong. So it sucks,
>>performance wise of course, since we cannot pre-merge. I
>>guess we should
>>put a fat warning -- DO NOT Call $s->dir_config without arguments,
>>unless you don't mind performance implications.
>>
>
> these issues should be handled separately, no? PerlSetVar is just another
> config directive, so by the time you get to the PerlHeaderParser you ought
> to have a fully populated table (done via normal directory merging).
> whether elements are added to removed at runtime shouldn't require merging,
> since you are just manipulating an existing and populated table.
that's how it should be but I don't see this happening. The thing you
are talking about is supposed to happen in
modperl_config.c:modperl_config_dir_merge right? But this function has
no access to modperl_config_srv_t, so it doesn't do the merge with any
settings done on the server level.
Still let's say that this works, run-time can always call
$s->dir_config->set(foo => $bar), how a call to $r->dir_config can know
about this change in the same request?
> sorry if I'm missing some design considerations already discussed - I'm
> still trying to catch up with my email after a vacation...
Nope, we didn't discuss this before.
Hope you'd a nice vacation :)
_____________________________________________________________________
Stas Bekman JAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide http://perl.apache.org/guide
mailto:[EMAIL PROTECTED] http://apachetoday.com http://eXtropia.com/
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]