You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl-cvs@perl.apache.org by ri...@apache.org on 2004/08/16 07:30:07 UTC

cvs commit: embperl TODO epdom.c epinit.c epprovider.c eputil.c mod_embperl.c

richter     2004/08/15 22:30:07

  Modified:    .        TODO epdom.c epinit.c epprovider.c eputil.c
                        mod_embperl.c
  Log:
  fix small memory leak
  
  Revision  Changes    Path
  1.125     +2 -0      embperl/TODO
  
  Index: TODO
  ===================================================================
  RCS file: /home/cvs/embperl/TODO,v
  retrieving revision 1.124
  retrieving revision 1.125
  diff -u -r1.124 -r1.125
  --- TODO	20 Jul 2004 04:59:10 -0000	1.124
  +++ TODO	16 Aug 2004 05:30:05 -0000	1.125
  @@ -13,6 +13,8 @@
   
   - Perl hash error at end of apache and apachectl restart
   
  +- check memory on recompile of epl files
  +
   TODO for Embperl 2.1 and later
   
   - make Embperl run with threads and threaded Apache 2
  
  
  
  1.21      +6 -4      embperl/epdom.c
  
  Index: epdom.c
  ===================================================================
  RCS file: /home/cvs/embperl/epdom.c,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- epdom.c	16 Aug 2004 03:38:59 -0000	1.20
  +++ epdom.c	16 Aug 2004 05:30:05 -0000	1.21
  @@ -192,7 +192,7 @@
       int	    nOldSize = sizeof (tNodeData) + pNode -> numAttr * sizeof (tAttrData) ;
       tNodeData * pNew ;
       int n ;
  -    
  +
       if (((tUInt8 *)pNode) + nOldSize == pMemLast)
   	{ /* --- expand --- */
   	if (((tUInt8 *)pNode) + nSize < pMemEnd)
  @@ -1468,14 +1468,16 @@
   
       if (pDomTree -> pDependsOn)
   	{
  +        /*
           int i ;
   
           for (i = 0 ; i <= AvFILL (pDomTree -> pDependsOn); i++)
   	    {
   	    SV * pSV = *av_fetch (pDomTree -> pDependsOn, i, 0) ;
  -            /* ### */ lprintf (a, "pDependsOn DomTree #%d type = %d cnt=%d n=%d\n", i, SvTYPE(pSV), SvREFCNT(pSV), SvIVX(pSV)) ;
  +            lprintf (a, "pDependsOn DomTree #%d type = %d cnt=%d n=%d\n", i, SvTYPE(pSV), SvREFCNT(pSV), SvIVX(pSV)) ;
   	    }
  -        
  +        */
  +
   	av_clear (pDomTree -> pDependsOn) ;
   	
           SvREFCNT_dec (pDomTree -> pDependsOn) ;
  @@ -3172,7 +3174,7 @@
   
       if (pNewNodeDomTree != pRefNodeDomTree)
           {
  -        tNodeData * pNew = Node_newAndAppend (a, pRefNodeDomTree, pRefNode -> xParent, nRefRepeatLevel, NULL, pNewNode -> nLinenumber, sizeof (tNodeData) + pNewNode -> numAttr * sizeof (tAttrData)) ;        
  +        tNodeData * pNew = Node_newAndAppend (a, pRefNodeDomTree, pRefNode -> xParent, nRefRepeatLevel, NULL, pNewNode -> nLinenumber, sizeof (tNodeData) /* + pNewNode -> numAttr * sizeof (tAttrData) (attributes are NOT copied !!)*/) ;        
   
           pNew -> nText   = pNewNode -> nText ;
           pNew -> xChilds = pNewNode -> xChilds ;
  
  
  
  1.18      +8 -4      embperl/epinit.c
  
  Index: epinit.c
  ===================================================================
  RCS file: /home/cvs/embperl/epinit.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- epinit.c	16 Aug 2004 03:39:00 -0000	1.17
  +++ epinit.c	16 Aug 2004 05:30:05 -0000	1.18
  @@ -1726,21 +1726,25 @@
       av_clear (r -> pThread -> pFormArray) ;
       hv_clear (r -> pThread -> pFormHash) ;
       hv_clear (r -> pThread -> pFormSplitHash) ;
  +    /*
       for (i = 0 ; i <= av_len (r -> pDomTreeAV); i++)
   	{
   	SV ** ppSV = av_fetch (r -> pDomTreeAV, i, 0) ;   
           SV * pSV = * ppSV ;
  -/* ### */ lprintf (r -> pApp, "r -> pDomTreeAV DomTree #%d type = %d cnt=%d n=%d\n", i, SvTYPE(pSV), SvREFCNT(pSV), SvIVX(pSV)) ;
  +        lprintf (r -> pApp, "r -> pDomTreeAV DomTree #%d type = %d cnt=%d n=%d\n", i, SvTYPE(pSV), SvREFCNT(pSV), SvIVX(pSV)) ;
   	}
  +    */
       av_clear (r -> pDomTreeAV) ;
       SvREFCNT_dec (r -> pDomTreeAV) ;
       for (i = 0 ; i <= av_len (r -> pCleanupAV); i++)
   	{
   	SV ** ppSV = av_fetch (r -> pCleanupAV, i, 0) ;   
           SV * pSV = * ppSV ;
  -	if (SvROK(pSV))
  -/* ### */ lprintf (r -> pApp, "r -> pCleanupAV DomTree #%d type = %d cnt=%d n=%d\n", i, SvTYPE(SvRV(pSV)), SvREFCNT(SvRV(pSV)), SvIVX(SvRV(pSV))) ;
  -	if (SvROK(pSV))
  +	/*
  +        if (SvROK(pSV))
  +            lprintf (r -> pApp, "r -> pCleanupAV DomTree #%d type = %d cnt=%d n=%d\n", i, SvTYPE(SvRV(pSV)), SvREFCNT(SvRV(pSV)), SvIVX(SvRV(pSV))) ;
  +	*/
  +        if (SvROK(pSV))
               sv_setsv (SvRV(pSV), &sv_undef) ;
   	}
       av_clear (r -> pCleanupAV) ;
  
  
  
  1.6       +0 -1      embperl/epprovider.c
  
  Index: epprovider.c
  ===================================================================
  RCS file: /home/cvs/embperl/epprovider.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- epprovider.c	14 Aug 2004 14:28:42 -0000	1.5
  +++ epprovider.c	16 Aug 2004 05:30:05 -0000	1.6
  @@ -1678,7 +1678,6 @@
           {
           LogError (r, rc) ;
           }
  -/* ### */    lprintf (r ->pApp, "ProviderEpRun_IsExpired t=%d cv=%x\n", pProvider -> pCache -> nExpiresInTime, pProvider -> pCache -> pExpiresCV );
       if (pProvider -> pCache -> nExpiresInTime || pProvider -> pCache -> pExpiresCV)
           pProvider -> pCache -> bCache = 1 ;
       else
  
  
  
  1.41      +2 -2      embperl/eputil.c
  
  Index: eputil.c
  ===================================================================
  RCS file: /home/cvs/embperl/eputil.c,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- eputil.c	16 Aug 2004 03:39:00 -0000	1.40
  +++ eputil.c	16 Aug 2004 05:30:05 -0000	1.41
  @@ -2074,13 +2074,13 @@
   	if ((!SvMAGICAL(pSV) || !(pMagic = mg_find (pSV, MGTTYPE))))
   	    {
   	    sv_magicext ((SV *)pSV, NULL, MGTTYPE, &DMalloc_mvtTab, (char *)&s, sizeof (s)) ;
  -	    //sv_magic ((SV *)pSV, NULL, MGTTYPE, (char *)&s, sizeof (s)) ;
  +	    /* sv_magic ((SV *)pSV, NULL, MGTTYPE, (char *)&s, sizeof (s)) ; */
   	    pMagic = mg_find (pSV, MGTTYPE) ;
   	    }
   
   	if (pMagic)
   	    {
  -	    //pMagic -> mg_virtual = &DMalloc_mvtTab ;
  +	    /* pMagic -> mg_virtual = &DMalloc_mvtTab ; */
   	    }
   	else
   	    {
  
  
  
  1.21      +1 -1      embperl/mod_embperl.c
  
  Index: mod_embperl.c
  ===================================================================
  RCS file: /home/cvs/embperl/mod_embperl.c,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- mod_embperl.c	16 Aug 2004 04:19:44 -0000	1.20
  +++ mod_embperl.c	16 Aug 2004 05:30:05 -0000	1.21
  @@ -200,7 +200,7 @@
   
   int embperl_ApInitDone (void)
       {
  -    return 0 ; //bInitDone ;
  +    return 0 ; /* bInitDone ; */
       }
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org