From 28147beca6aa52f47c060dde8671edd008d8f6fa Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Tue, 26 Mar 2002 20:02:20 +0000 Subject: [PATCH] cleanup --- src/libCom/cxxTemplates/tsFreeList.h | 33 +++++++++++----------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/src/libCom/cxxTemplates/tsFreeList.h b/src/libCom/cxxTemplates/tsFreeList.h index c49ae578c..b628690e6 100644 --- a/src/libCom/cxxTemplates/tsFreeList.h +++ b/src/libCom/cxxTemplates/tsFreeList.h @@ -46,8 +46,12 @@ #ifdef EPICS_FREELIST_DEBUG # define tsFreeListDebugBypass 1 +# define tsFreeListMemSetNew(P,SIZE) memset ( (P), 0xaa, (SIZE) ) +# define tsFreeListMemSetDelete(P,SIZE) memset ( (P), 0xdd, (SIZE) ) #else # define tsFreeListDebugBypass 0 +# define tsFreeListMemSetNew(P,SIZE) +# define tsFreeListMemSetDelete(P,SIZE) #endif #include @@ -80,7 +84,7 @@ private: MUTEX mutex; tsFreeListItem < T > * pFreeList; tsFreeListChunk < T, N > * pChunkList; - tsFreeListItem < T > * allocateFromNewChunk (); + void * allocateFromNewChunk (); }; template < class T > @@ -103,9 +107,7 @@ inline tsFreeList < T, N, MUTEX > :: tsFreeList () : template < class T, unsigned N, class MUTEX > tsFreeList < T, N, MUTEX > :: ~tsFreeList () { - tsFreeListChunk < T, N > * pChunk; - - while ( ( pChunk = this->pChunkList ) ) { + while ( tsFreeListChunk < T, N > *pChunk = this->pChunkList ) { this->pChunkList = this->pChunkList->pNext; delete pChunk; } @@ -116,9 +118,7 @@ void * tsFreeList < T, N, MUTEX >::allocate ( size_t size ) { if ( size != sizeof ( T ) || N == 0u || tsFreeListDebugBypass ) { void * p = ::operator new ( size ); - if ( tsFreeListDebugBypass ) { - memset ( p, 0xaa, size ); - } + tsFreeListMemSetNew ( p, size ); return p; } @@ -127,17 +127,13 @@ void * tsFreeList < T, N, MUTEX >::allocate ( size_t size ) tsFreeListItem < T > * p = this->pFreeList; if ( p ) { this->pFreeList = p->pNext; + return static_cast < void * > ( p ); } - else { - p = this->allocateFromNewChunk (); - } - - return static_cast < void * > ( p ); + return this->allocateFromNewChunk (); } template < class T, unsigned N, class MUTEX > -tsFreeListItem < T > * - tsFreeList < T, N, MUTEX >::allocateFromNewChunk () +void * tsFreeList < T, N, MUTEX >::allocateFromNewChunk () { tsFreeListChunk < T, N > * pChunk = new tsFreeListChunk < T, N >; @@ -152,17 +148,14 @@ tsFreeListItem < T > * pChunk->pNext = this->pChunkList; this->pChunkList = pChunk; - return &pChunk->items[0]; + return static_cast ( &pChunk->items[0] ); } template < class T, unsigned N, class MUTEX > -void tsFreeList < T, N, MUTEX >::release - ( void * pCadaver, size_t size ) +void tsFreeList < T, N, MUTEX >::release ( void * pCadaver, size_t size ) { if ( size != sizeof ( T ) || N == 0u || tsFreeListDebugBypass ) { - if ( tsFreeListDebugBypass ) { - memset ( pCadaver, 0xdd, size ); - } + tsFreeListMemSetDelete ( p, size ); ::operator delete ( pCadaver ); } else if ( pCadaver ) {