void MFHeap_DeinitModule() { MFCALLSTACK; MFHeap_DeinitModulePlatformSpecific(); #if defined(_USE_TRACKING_HASH_TABLE) // todo: list all unfreed allocations? //... FreeAllocTable(); #endif // TODO: gAllocMutex is not allocated by MFHeap... separate the 'deinit' from the 'destroy' // MFThread_DestroyMutex(gAllocMutex); }
void MFHeap_DeinitModule() { MFCALLSTACK; MFHeap_DeinitModulePlatformSpecific(); #if defined(_USE_ALLOC_TRACKER) gPoolInitialised = false; gAllocList.Deinit(); #endif #if defined(_USE_TRACKING_HASH_TABLE) // todo: list all unfreed allocations? //... gAllocHeaderPool.Deinit(); MFZeroMemory(gpAllocTable, sizeof(gpAllocTable)); #endif // TODO: gAllocMutex is not allocated by MFHeap... separate the 'deinit' from the 'destroy' // MFThread_DestroyMutex(gAllocMutex); }