jmding
04-08-2002, 07:52 PM
Why malloc fails sometimes. The code is as following:
if(ISHELL_CreateInstance(aeeApp.m_pIShell, AEECLSID_HEAP, (void **)&pIHeap) == SUCCESS) //ok
{
iMem=IHEAP_GetMemStats(pIHeap); //ok
iFree=200000-iMem; //ok
iFree=iFree/2;
if(IHEAP_CheckAvail(pIHeap,iFree)) //fail sometimes
{
pTest=MALLOC(iFree);
if(pTest) FREE(pTest);
}
IHEAP_Release(pIHeap);
}
if(ISHELL_CreateInstance(aeeApp.m_pIShell, AEECLSID_HEAP, (void **)&pIHeap) == SUCCESS) //ok
{
iMem=IHEAP_GetMemStats(pIHeap); //ok
iFree=200000-iMem; //ok
iFree=iFree/2;
if(IHEAP_CheckAvail(pIHeap,iFree)) //fail sometimes
{
pTest=MALLOC(iFree);
if(pTest) FREE(pTest);
}
IHEAP_Release(pIHeap);
}