From af00129bc9fb199d9e2055629fa3c5100041ebd6 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Fri, 14 Dec 2001 00:37:07 +0000 Subject: [PATCH] use EPICS_FREELIST_DEBUG for debug builds --- src/libCom/cxxTemplates/tsFreeList.h | 9 +++++++-- src/libCom/freeList/freeListLib.c | 9 +++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/libCom/cxxTemplates/tsFreeList.h b/src/libCom/cxxTemplates/tsFreeList.h index 1f6613276..c4e4f6550 100644 --- a/src/libCom/cxxTemplates/tsFreeList.h +++ b/src/libCom/cxxTemplates/tsFreeList.h @@ -15,6 +15,10 @@ #include +#ifdef EPICS_FREELIST_DEBUG +# include +#endif + // // To allow your class to be allocated off of a free list // using the new operator: @@ -122,7 +126,7 @@ tsFreeList < T, N, DEBUG_LEVEL > :: ~tsFreeList () template < class T, unsigned N, unsigned DEBUG_LEVEL > inline void * tsFreeList < T, N, DEBUG_LEVEL >::allocate ( size_t size ) { -# ifdef EPICS_DEBUG +# ifdef EPICS_FREELIST_DEBUG return ::operator new ( size, std::nothrow ); # else tsFreeListItem < T, DEBUG_LEVEL > *p; @@ -179,7 +183,8 @@ tsFreeListItem < T, DEBUG_LEVEL > * tsFreeList < T, N, DEBUG_LEVEL >::allocateFr template < class T, unsigned N, unsigned DEBUG_LEVEL > inline void tsFreeList < T, N, DEBUG_LEVEL >::release ( void *pCadaver, size_t size ) { -# ifdef EPICS_DEBUG +# ifdef EPICS_FREELIST_DEBUG + memset ( pCadaver, 0xdd, size ); ::operator delete ( pCadaver ); # else if ( DEBUG_LEVEL > 9 ) { diff --git a/src/libCom/freeList/freeListLib.c b/src/libCom/freeList/freeListLib.c index da36cb58a..a9dad52ef 100644 --- a/src/libCom/freeList/freeListLib.c +++ b/src/libCom/freeList/freeListLib.c @@ -95,7 +95,7 @@ epicsShareFunc void epicsShareAPI epicsShareFunc void * epicsShareAPI freeListCalloc(void *pvt) { FREELISTPVT *pfl = pvt; -# ifdef EPICS_DEBUG +# ifdef EPICS_FREELIST_DEBUG return callocMustSucceed(1,pfl->size,"freeList Debug Calloc"); # else void *ptemp; @@ -109,7 +109,7 @@ epicsShareFunc void * epicsShareAPI freeListCalloc(void *pvt) epicsShareFunc void * epicsShareAPI freeListMalloc(void *pvt) { FREELISTPVT *pfl = pvt; -# ifdef EPICS_DEBUG +# ifdef EPICS_FREELIST_DEBUG return callocMustSucceed(1,pfl->size,"freeList Debug Malloc"); # else void *ptemp; @@ -154,10 +154,11 @@ epicsShareFunc void * epicsShareAPI freeListMalloc(void *pvt) epicsShareFunc void epicsShareAPI freeListFree(void *pvt,void*pmem) { -# ifdef EPICS_DEBUG + FREELISTPVT *pfl = pvt; +# ifdef EPICS_FREELIST_DEBUG + memset ( pmem, 0xdd, pfl->size ); free(pmem); # else - FREELISTPVT *pfl = pvt; void **ppnext; epicsMutexMustLock(pfl->lock);