"Markus Amsler" <markus.amsler(a)oribi.org> wrote:
void pool_destroy(struct pool* pool) { - struct pool_arena* arena; - struct pool_arena* next; - -#ifdef USE_STATS - unsigned alloc, used, num; - - for (alloc = used = num = 0, arena = pool->first; arena; arena = arena->next) - { - alloc += pool->arena_size; - used += arena->current - (char*)arena; - num++; - } - FIXME("STATS: pool %p has allocated %u kbytes, used %u kbytes in %u arenas,\n" - "\t\t\t\tnon-allocation ratio: %.2f%%\n", - pool, alloc >> 10, used >> 10, num, 100.0 - (float)used / (float)alloc * 100.0); -#endif - - for (arena = pool->first; arena; arena = next) - { - next = arena->next; - HeapFree(GetProcessHeap(), 0, arena); - } - pool_init(pool, 0); + return; }
The old code at least bothered to actually free some memory. -- Dmitry.