Perrin Harkins wrote:
Tom Williams wrote:
" If sometimes flags are here, problem is in loading the domains.pm (making country array not loaded correctly) file.
Because yo use mod_perl and i known this module has a very special way to load pm files and to initialize perl variables (variables are kept in memory between sessions and not reloaded at each load of awstats page), i think problem comes from mod_perl.
The DomainsHashIDLib array seems to be not always loaded by mod_perl but i don't know how to solve this."
Actually, mod_perl is not doing anything special here. Perl normally keeps things in memory after you've compiled them, for as long as the interpreter is alive. You don't typically see the consequences of this because with a CGI script the perl interpreter exits right away, taking everything it had in memory with it.
Cool! I do notice that from time to time the multi-threaded child processes will die off and new ones spawn and I understand this is normal for the Apache 2.0 work MPM. So, each time a child process terminates the Perl interpreter for that process goes with it and the new child gets a new interpreter, correct?
The problem with domains.pm is that it doesn't follow the rules for Perl5 modules: it has no package declaration. This causes you to hit the problem documented here:
http://perl.apache.org/docs/1.0/guide/porting.html#Name_collisions_with_Modules_and_libs
Ok, I'll look into this.
You may be able to make it work by running it under Apache::PerlRun, which is slower, but tries harder to support legacy code with namespace problems.
Great! Thanks!
Peace...
Tom
-- 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