
richter at apache
Aug 15, 2004, 10:30 PM
Post #1 of 1
(771 views)
Permalink
|
|
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 [at] perl For additional commands, e-mail: embperl-cvs-help [at] perl
|