core/heap.c
/* for fast exit path only, normal path taken care of */
for fast exit path only, normal path taken care of
for fast exit path only normal path taken care of
void
special_heap_profile_exit()
{
    special_heap_unit_t *u;
    special_units_t *su;
    ASSERT(special_heap_profile_enabled()); 
    mutex_lock(&special_units_list_lock); 
    for (su = special_units_list; su != NULL; su = su->next) {
        if (su->use_lock)
            mutex_lock(&su->lock);
        for (u = su->top_unit; u != NULL; u = u->next) {
            if (u->profile != NULL)
                special_heap_profile_stop(u);
        }
        if (su->use_lock)
            mutex_unlock(&su->lock);
    }
    mutex_unlock(&special_units_list_lock);
}
void special_heap_profile_exit ( ) { special_heap_unit_t * u ; special_units_t * su ; ASSERT ( special_heap_profile_enabled ( ) ) ; mutex_lock ( & special_units_list_lock ) ; for ( su = special_units_list ; su != NULL ; su = su -> next ) { if ( su -> use_lock ) mutex_lock ( & su -> lock ) ; for ( u = su -> top_unit ; u != NULL ; u = u -> next ) { if ( u -> profile != NULL ) special_heap_profile_stop ( u ) ; } if ( su -> use_lock ) mutex_unlock ( & su -> lock ) ; } mutex_unlock ( & special_units_list_lock ) ; }
for fast exit path only, normal path taken care of
for fast exit path only normal path taken care of
/* will never be compiled in I guess :) */ /* fast exit path: do not bother to free */