use EPICS_FREELIST_DEBUG for debug builds
This commit is contained in:
@@ -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 ) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user