dougm       01/05/15 10:02:44

  Modified:    .        Changes
               src/modules/perl perl_config.c
  Log:
  adjust perl_clear_symtab() to deal properly bleedperl's version of
  cv_undef() (which broke modules with directive handlers)
  
  Revision  Changes    Path
  1.592     +4 -0      modperl/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.591
  retrieving revision 1.592
  diff -u -r1.591 -r1.592
  --- Changes   2001/05/01 17:28:28     1.591
  +++ Changes   2001/05/15 17:02:19     1.592
  @@ -10,6 +10,10 @@
   
   =item 1.25_01-dev
   
  +adjust perl_clear_symtab() to deal properly bleedperl's version of
  +cv_undef() (which broke modules with directive handlers)
  +thanks to Geoffrey Young for the spot
  +
   add $r->allowed method [Philippe Troin <[EMAIL PROTECTED]>]
   
   fix 'make offsite-tar' [Geoffrey Young <[EMAIL PROTECTED]>]
  
  
  
  1.109     +6 -2      modperl/src/modules/perl/perl_config.c
  
  Index: perl_config.c
  ===================================================================
  RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v
  retrieving revision 1.108
  retrieving revision 1.109
  diff -u -r1.108 -r1.109
  --- perl_config.c     2000/12/30 05:08:59     1.108
  +++ perl_config.c     2001/05/15 17:02:32     1.109
  @@ -1697,8 +1697,12 @@
            hv_clear(hv);
        if((av = GvAV((GV*)val)))
            av_clear(av);
  -     if((cv = GvCV((GV*)val)))
  -         cv_undef(cv);
  +     if((cv = GvCV((GV*)val)) && (GvSTASH((GV*)val) == GvSTASH(CvGV(cv)))) {
  +            GV *gv = CvGV(cv);
  +            cv_undef(cv);
  +            CvGV(cv) = gv;
  +            GvCVGEN(gv) = 1; /* invalidate method cache */
  +        }
       }
   }
   
  
  
  

Reply via email to