pardon my being away, but does this mean that the earlier (possible) fix

Apache::ModuleConfig->get($r, __PACKAGE__)

was not the cause of the error, or that it was and the __PACKAGE__ part is
not necessary now?

I was wondering whether to fix my calls for people who weren't up to cvs
speed...

--Geoff

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Friday, September 22, 2000 2:52 PM
> To: [EMAIL PROTECTED]
> Subject: cvs commit: modperl/src/modules/perl mod_perl.h perl_config.c
> 
> 
> dougm       00/09/22 11:52:04
> 
>   Modified:    .        Changes
>                src/modules/perl mod_perl.h perl_config.c
>   Log:
>   plug leak in DIR_MERGE
>   rename mod_perl_cleanup_av -> mod_perl_cleanup_sv
>   
>   Revision  Changes    Path
>   1.517     +2 -0      modperl/Changes
>   
>   Index: Changes
>   ===================================================================
>   RCS file: /home/cvs/modperl/Changes,v
>   retrieving revision 1.516
>   retrieving revision 1.517
>   diff -u -r1.516 -r1.517
>   --- Changes 2000/09/13 07:48:55     1.516
>   +++ Changes 2000/09/22 18:51:52     1.517
>   @@ -10,6 +10,8 @@
>    
>    =item 1.24_01-dev
>    
>   +plug leak in DIR_MERGE, thanks to Matt Sergeant for the spot
>   +
>    fixes to run and pass 'make test' on ActivePerl [Randy 
> Kobes, Gerald Richter]
>    
>    Makefile.PL:post_initialize fix for win32, thanks to john 
> sterling for 
>   
>   
>   
>   1.103     +1 -1      modperl/src/modules/perl/mod_perl.h
>   
>   Index: mod_perl.h
>   ===================================================================
>   RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v
>   retrieving revision 1.102
>   retrieving revision 1.103
>   diff -u -r1.102 -r1.103
>   --- mod_perl.h      2000/08/15 19:36:33     1.102
>   +++ mod_perl.h      2000/09/22 18:51:59     1.103
>   @@ -1132,7 +1132,7 @@
>    void perl_setup_env(request_rec *r);
>    SV  *perl_bless_request_rec(request_rec *); 
>    void perl_set_request_rec(request_rec *); 
>   -void mod_perl_cleanup_av(void *data);
>   +void mod_perl_cleanup_sv(void *data);
>    void mod_perl_cleanup_handler(void *data);
>    void mod_perl_end_cleanup(void *data);
>    void mod_perl_register_cleanup(request_rec *r, SV *sv);
>   
>   
>   
>   1.102     +18 -11    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.101
>   retrieving revision 1.102
>   diff -u -r1.101 -r1.102
>   --- perl_config.c   2000/08/15 19:36:33     1.101
>   +++ perl_config.c   2000/09/22 18:52:00     1.102
>   @@ -436,7 +436,7 @@
>        sva = newSVpv(arg,0); 
>        if(!*cmd) { 
>            *cmd = newAV(); 
>   -   register_cleanup(p, (void*)*cmd, mod_perl_cleanup_av, 
> mod_perl_noop);
>   +   register_cleanup(p, (void*)*cmd, mod_perl_cleanup_sv, 
> mod_perl_noop);
>       MP_TRACE_d(fprintf(stderr, "init `%s' stack\n", hook)); 
>        } 
>        MP_TRACE_d(fprintf(stderr, "perl_cmd_push_handlers: 
> @%s, '%s'\n", hook, arg)); 
>   @@ -823,13 +823,13 @@
>        return NULL;
>    }
>    
>   -void mod_perl_cleanup_av(void *data)
>   +void mod_perl_cleanup_sv(void *data)
>    {
>   -    AV *av = (AV*)data;
>   -    if(SvREFCNT((SV*)av)) {
>   -   MP_TRACE_g(fprintf(stderr, "cleanup_av: SvREFCNT(0x%lx)==%d\n", 
>   -                      (unsigned long)av, (int)SvREFCNT((SV*)av)));
>   -   SvREFCNT_dec((SV*)av);
>   +    SV *sv = (SV*)data;
>   +    if (SvREFCNT(sv)) {
>   +        MP_TRACE_g(fprintf(stderr, "cleanup_sv: 
> SvREFCNT(0x%lx)==%d\n",
>   +                           (unsigned long)sv, (int)SvREFCNT(sv)));
>   +        SvREFCNT_dec(sv);
>        }
>    }
>    
>   @@ -929,7 +929,7 @@
>       *basevp = (mod_perl_perl_dir_config *)basev,
>       *addvp  = (mod_perl_perl_dir_config *)addv;
>    
>   -    SV *sv, 
>   +    SV *sv=Nullsv, 
>       *basesv = basevp ? basevp->obj : Nullsv,
>       *addsv  = addvp  ? addvp->obj  : Nullsv;
>    
>   @@ -958,16 +958,23 @@
>       if((perl_eval_ok(NULL) == OK) && (count == 1)) {
>           sv = POPs;
>           ++SvREFCNT(sv);
>   -       mrg->obj = sv;
>           mrg->pclass = SvCLASS(sv);
>       }
>       PUTBACK;
>       FREETMPS;LEAVE;
>        }
>        else {
>   -   mrg->obj = newSVsv(basesv);
>   -   mrg->pclass = basevp->pclass;
>   +        sv = newSVsv(basesv);
>   +        mrg->pclass = basevp->pclass;
>        }
>   +
>   +    if (sv) {
>   +        mrg->obj = sv;
>   +        register_cleanup(p, (void*)mrg,
>   +                         perl_perl_cmd_cleanup, mod_perl_noop);
>   +
>   +    }
>   +
>        return (void *)mrg;
>    }
>    
>   
>   
>   
> 

Reply via email to