void arena::close_arena () { #if !__TBB_STATISTICS_EARLY_DUMP GATHER_STATISTIC( dump_arena_statistics() ); #endif my_market->detach_arena( *this ); free_arena(); }
void arena::close_arena () { #if !__TBB_STATISTICS_EARLY_DUMP GATHER_STATISTIC( dump_arena_statistics() ); #endif my_market->detach_arena( *this ); __TBB_ASSERT( is_alive(my_guard), NULL ); free_arena(); }
static void rebuild_cache() { free_arena(&cache_arena); init_arena(&cache_arena, 1024); rebuild_uid_cache(); rebuild_gid_cache(); qsort(uid_cache, uid_cache_size, sizeof(struct uid_cache_entry), uid_cache_uid_sortcmp); qsort(gid_cache, gid_cache_size, sizeof(struct gid_cache_entry), gid_cache_gid_sortcmp); }
void MemoryManager::_free_arenas(Arena *a) { while(a != NULL) { Arena* last = a; a = a->next_arena; #ifdef JIT_MEM_CHECK checkPointsMutex.lock(); _check_arena_paddings(last); CheckPointsByArena::iterator it = checkPointsByArena.find(last); m_assert(it!=checkPointsByArena.end()); std::vector<size_t>* v = it->second; checkPointsByArena.erase(it); delete v; checkPointsMutex.unlock(); #endif free_arena(last); } }
void free_chunk_arenas() { ChunkArenaPtr arena; int i, rc; for(i = 0; i < numArenas; i++) { arena = &(chunkArenas[i]); if(arena->bitmap == EMPTY_BITMAP && arena->chunks) { rc = free_arena(arena->chunks, CHUNK_SIZE * ARENA_CHUNKS); if(rc < 0) { do_log_error(L_ERROR, errno, "Couldn't unmap memory"); continue; } arena->chunks = NULL; } } if(currentArena && currentArena->chunks == NULL) currentArena = NULL; }
static void pfree(struct pool* p) { free_arena(&p->a); }