core/heap.c
/* Delete landing_pad_areas and the landing_pad_area_t allocated for each
 * landing pad area.  However, release all landing pads only on process exit;
 * for detach leave the landing pads in (in case some one hooks after us they
 * shouldn't crash if they chain correctly).
 */
Delete landing_pad_areas and the landing_pad_area_t allocated for each
landing pad area.  However, release all landing pads only on process exit;
for detach leave the landing pads in (in case some one hooks after us they
shouldn't crash if they chain correctly).
Delete landing_pad_areas and the landing_pad_area_t allocated for each landing pad area . However release all landing pads only on process exit ; for detach leave the landing pads in ( in case some one hooks after us they shouldn ' t crash if they chain correctly ) .
static void
release_landing_pad_mem(void)
{
    vmvector_iterator_t lpad_area_iter;
    app_pc lpad_area_start, lpad_area_end;
    landing_pad_area_t *lpad_area;
    heap_error_code_t heap_error;
    vmvector_iterator_start(landing_pad_areas, &lpad_area_iter);
    while (vmvector_iterator_hasnext(&lpad_area_iter)) {
        lpad_area = vmvector_iterator_next(&lpad_area_iter, &lpad_area_start,
                                           &lpad_area_end);
        HEAP_TYPE_FREE(GLOBAL_DCONTEXT, lpad_area, landing_pad_area_t,
                       ACCT_VMAREAS, PROTECTED); 
        if (!doing_detach)  
            os_heap_free(lpad_area_start, LANDING_PAD_AREA_SIZE, &heap_error);
    }
    vmvector_iterator_stop(&lpad_area_iter);
    vmvector_delete_vector(GLOBAL_DCONTEXT, landing_pad_areas);
}
static void release_landing_pad_mem ( void ) { vmvector_iterator_t lpad_area_iter ; app_pc lpad_area_start , lpad_area_end ; landing_pad_area_t * lpad_area ; heap_error_code_t heap_error ; vmvector_iterator_start ( landing_pad_areas , & lpad_area_iter ) ; while ( vmvector_iterator_hasnext ( & lpad_area_iter ) ) { lpad_area = vmvector_iterator_next ( & lpad_area_iter , & lpad_area_start , & lpad_area_end ) ; HEAP_TYPE_FREE ( GLOBAL_DCONTEXT , lpad_area , landing_pad_area_t , ACCT_VMAREAS , PROTECTED ) ; if ( ! doing_detach ) os_heap_free ( lpad_area_start , LANDING_PAD_AREA_SIZE , & heap_error ) ; } vmvector_iterator_stop ( & lpad_area_iter ) ; vmvector_delete_vector ( GLOBAL_DCONTEXT , landing_pad_areas ) ; }
Delete landing_pad_areas and the landing_pad_area_t allocated for each
 landing pad area.
Delete landing_pad_areas and the landing_pad_area_t allocated for each landing pad area .
/* On normal exit release the landing pads. */