[EMAIL PROTECTED] wrote:
> I have been investigating this problem further.
> 
> The problem appears to be if any module tries to set an environment
> variable during the first init run then it will get wiped out by the
> shutdown of perl.  This then means that the during the second init run
> the environment variable will not exist and therefore the module could
> possibly fail if it depended on it being in place.  I have now recreated
> this with a simple module of my own.

[great analysis snipped]

> Clearly there has been a change in the way perl does some of the
> environment handling between 5.005 and 5.8+ as both the IBM module and my
> test module work fine with 5.005.

that's strange, but by no means improbable :)

> 
> My questions are now
> 
> 1/ What real effect on the system am I likely to suffer having the
> PERL_DESTRUCT_LEVEL set to -1 ?? 2/ Does anyone have any background on
> the "perl_startup" routine with regard to the environment calls, and in
> particular the part where a forced copy of the environment is made for a
> previous crash situation ?  It seems this "fix" might  have a side effect
> of not allowing any other module to set environment variables during the
> init phase.

I'm not entirely certain as to the interaction, but I doubt it would hurt
too much - static mod_perl compilations (typically the norm on large sites)
do not destroy the interpreter between restarts, so forcing the interpreter
to stick around in that instance is probably ok.  I am not aware of other
side effects to PERL_DESTRUCT_LEVEL simply because I haven't actually heard
of anyone using it.  you might want to check the archives to see what doug
had to say way back when.

HTH

--Geoff

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html

Reply via email to