diff --git a/flaim/src/flaim.h b/flaim/src/flaim.h index 6510143..c46192b 100644 --- a/flaim/src/flaim.h +++ b/flaim/src/flaim.h @@ -4615,8 +4615,9 @@ FLMINT Release( FLMBOOL bMutexLocked); - static void objectAllocInit( - void * pvAlloc); + static void FLMAPI objectAllocInit( + void * pvAlloc, + FLMUINT uiSize); void * parent( FlmField * pField); diff --git a/flaim/src/frec.cpp b/flaim/src/frec.cpp index 928b583..0728d7f 100644 --- a/flaim/src/frec.cpp +++ b/flaim/src/frec.cpp @@ -4628,9 +4628,12 @@ void * FlmRecord::locateFieldByPosition( /**************************************************************************** Desc: ****************************************************************************/ -void FlmRecord::objectAllocInit( - void * pvAlloc) +void FLMAPI FlmRecord::objectAllocInit( + void * pvAlloc, + FLMUINT uiSize) { + F_UNREFERENCED_PARM( uiSize); + // Need to make sure that m_refCnt and m_uiFlags are initialized to zero // prior to unlocking the mutex. This is so the FLAIM allocator // doesn't see garbage values that may cause it to relocate the object diff --git a/flaim/src/fsysdata.cpp b/flaim/src/fsysdata.cpp index f489c08..e94c62d 100644 --- a/flaim/src/fsysdata.cpp +++ b/flaim/src/fsysdata.cpp @@ -602,7 +602,7 @@ FSTATIC RCODE flmSetCacheLimits( } if( RC_BAD( rc = gv_FlmSysData.pSlabManager->resize( - uiNewTotalCacheSize, &uiNewTotalCacheSize))) + uiNewTotalCacheSize, TRUE, &uiNewTotalCacheSize))) { // Log a message indicating that we couldn't pre-allocate // the cache @@ -643,11 +643,7 @@ DONT_PREALLOCATE: if( bResizeAfterConfig) { - if( gv_FlmSysData.pSlabManager->totalBytesAllocated() > - uiNewTotalCacheSize) - { - (void)gv_FlmSysData.pSlabManager->resize( uiNewTotalCacheSize); - } + (void)gv_FlmSysData.pSlabManager->resize( uiNewTotalCacheSize, FALSE); } gv_FlmSysData.uiMaxCache = uiNewTotalCacheSize; diff --git a/flaim/src/rcache.cpp b/flaim/src/rcache.cpp index cb525b5..4affdb9 100644 --- a/flaim/src/rcache.cpp +++ b/flaim/src/rcache.cpp @@ -1286,7 +1286,8 @@ FSTATIC RCODE flmRcaAllocCacheStruct( f_assertMutexLocked( gv_FlmSysData.RCacheMgr.hMutex); if( (*ppRCache = - (RCACHE *)gv_FlmSysData.RCacheMgr.pRCacheAlloc->allocCell()) == NULL) + (RCACHE *)gv_FlmSysData.RCacheMgr.pRCacheAlloc->allocCell( + NULL, NULL)) == NULL) { rc = RC_SET( FERR_MEM); goto Exit; diff --git a/flaim/src/scache.cpp b/flaim/src/scache.cpp index d909257..084ed40 100644 --- a/flaim/src/scache.cpp +++ b/flaim/src/scache.cpp @@ -3155,7 +3155,7 @@ FSTATIC RCODE scaAllocCacheBlock( f_assertMutexLocked( gv_FlmSysData.hShareMutex); if( (pSCache = (SCACHE *)gv_FlmSysData.SCacheMgr.pAllocators[ - uiBlockSize == 4096 ? 0 : 1]->allocCell()) == NULL) + uiBlockSize == 4096 ? 0 : 1]->allocCell( NULL, NULL)) == NULL) { rc = RC_SET( FERR_MEM); goto Exit;