stas        2003/10/22 22:57:46

  Modified:    src/modules/perl mod_perl.c
  Log:
  refactoring: fold the two places where MpInterpBASE_On was called into one where
  perl is created
  
  Revision  Changes    Path
  1.201     +7 -14     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.200
  retrieving revision 1.201
  diff -u -u -r1.200 -r1.201
  --- mod_perl.c        23 Oct 2003 01:14:22 -0000      1.200
  +++ mod_perl.c        23 Oct 2003 05:57:46 -0000      1.201
  @@ -212,20 +212,16 @@
       modperl_cleanup_data_t *cdata;
   #endif
   
  +    /* ensure that we start the base server's perl, before vhost's
  +     * one, if modperl_startup was called by vhost before the former
  +     * was started */
       if (MP_init_status != 2) {
           server_rec *base_server = modperl_global_get_server_rec();
           PerlInterpreter *base_perl;
  -        modperl_config_srv_t *base_scfg;
           
           MP_init_status = 2; /* calls itself, so set the flag early */
           base_perl = modperl_startup(base_server, p);
  -        base_scfg = modperl_config_srv_get(base_server);
           
  -#ifdef USE_ITHREADS
  -        /* a parent perl was allocated, mark it to be destroyed */
  -        MpInterpBASE_On(base_scfg->mip->parent);
  -#endif
  -
           if (base_server == s ) {
               return base_perl;
           }
  @@ -296,6 +292,9 @@
   #ifdef USE_ITHREADS
       /* base server / virtual host w/ +Parent gets its own mip */
       modperl_interp_init(s, p, perl);
  +
  +    /* mark the parent perl to be destroyed */
  +    MpInterpBASE_On(scfg->mip->parent);
   #endif
   
       PL_endav = endav;
  @@ -414,13 +413,7 @@
       }
   
   #ifdef USE_ITHREADS
  -    if (scfg->mip) {
  -        /* if we allocated a parent perl, mark it to be destroyed */
  -        if (MpSrvPARENT(scfg)) {
  -            MpInterpBASE_On(scfg->mip->parent);
  -        }
  -    }
  -    else {
  +    if (!scfg->mip) {
           /* since mips are created after merge_server_configs()
            * need to point to the base mip here if this vhost
            * doesn't have its own
  
  
  

Reply via email to