dougm       01/10/13 12:11:32

  Modified:    src/modules/perl mod_perl.c modperl_env.c modperl_env.h
  Log:
  calculate hash of env keys at startup
  
  Revision  Changes    Path
  1.92      +1 -0      modperl-2.0/src/modules/perl/mod_perl.c
  
  Index: mod_perl.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v
  retrieving revision 1.91
  retrieving revision 1.92
  diff -u -r1.91 -r1.92
  --- mod_perl.c        2001/10/13 19:02:03     1.91
  +++ mod_perl.c        2001/10/13 19:11:32     1.92
  @@ -333,6 +333,7 @@
                                Perl_form(aTHX_ "Perl/v%vd", PL_patchlevel));
       modperl_mgv_hash_handlers(pconf, s);
       modperl_modglobal_hash_keys();
  +    modperl_env_hash_keys();
   #ifdef USE_ITHREADS
       modperl_init_clones(s, pconf);
   #endif
  
  
  
  1.13      +11 -1     modperl-2.0/src/modules/perl/modperl_env.c
  
  Index: modperl_env.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_env.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- modperl_env.c     2001/09/28 18:34:30     1.12
  +++ modperl_env.c     2001/10/13 19:11:32     1.13
  @@ -31,13 +31,23 @@
   #define MP_ENV_ENT(k,v) \
   { k, sizeof(k)-1, v, sizeof(v)-1, 0 }
   
  -static const modperl_env_ent_t modperl_env_const_vars[] = {
  +static modperl_env_ent_t modperl_env_const_vars[] = {
   #ifdef MP_COMPAT_1X
       MP_ENV_ENT("GATEWAY_INTERFACE", "CGI-Perl/1.1"),
   #endif
       MP_ENV_ENT("MOD_PERL", MP_VERSION_STRING),
       { NULL }
   };
  +
  +void modperl_env_hash_keys(void)
  +{
  +    modperl_env_ent_t *ent = modperl_env_const_vars;
  +
  +    while (ent->key) {
  +        PERL_HASH(ent->hash, ent->key, ent->klen);
  +        ent++;
  +    }
  +}
   
   void modperl_env_clear(pTHX)
   {
  
  
  
  1.9       +2 -0      modperl-2.0/src/modules/perl/modperl_env.h
  
  Index: modperl_env.h
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_env.h,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- modperl_env.h     2001/09/28 19:26:37     1.8
  +++ modperl_env.h     2001/10/13 19:11:32     1.9
  @@ -11,6 +11,8 @@
   #define modperl_env_tie(mg_flags) \
       MP_magical_tie(ENVHV, mg_flags)
   
  +void modperl_env_hash_keys(void);
  +
   void modperl_env_clear(pTHX);
   
   void modperl_env_default_populate(pTHX);
  
  
  


Reply via email to