use EPICS_FREELIST_DEBUG for debug builds

This commit is contained in:
Jeff Hill
2001-12-14 00:37:07 +00:00
parent 2650fab113
commit af00129bc9
2 changed files with 12 additions and 6 deletions
+7 -2
View File
@@ -15,6 +15,10 @@
#include <new>
#ifdef EPICS_FREELIST_DEBUG
# include <string.h>
#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 ) {
+5 -4
View File
@@ -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);