From: navarro Date: Fri, 16 Mar 2012 15:53:23 +0000 (+0100) Subject: Check for memleack and fix some compilation error with full flags. X-Git-Tag: v3_7~305 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/a067481f5e9782cf82ebc6c1487d58083ec2fbd5 Check for memleack and fix some compilation error with full flags. --- diff --git a/src/surf/cpu_cas01.c b/src/surf/cpu_cas01.c index 9998f863ad..c4f62db6d4 100644 --- a/src/surf/cpu_cas01.c +++ b/src/surf/cpu_cas01.c @@ -631,6 +631,7 @@ static void cpu_finalize(void) cpu_running_action_set_that_does_not_need_being_checked = NULL; if (cpu_action_heap) xbt_heap_free(cpu_action_heap); + xbt_swag_free(cpu_modified_set); } static void surf_cpu_model_init_internal() diff --git a/src/surf/surf.c b/src/surf/surf.c index b80d1fd389..5618234139 100644 --- a/src/surf/surf.c +++ b/src/surf/surf.c @@ -305,6 +305,13 @@ XBT_LOG_EXTERNAL_CATEGORY(surf_route); XBT_LOG_EXTERNAL_CATEGORY(surf_network_gtnets); #endif +static XBT_INLINE void routing_asr_host_free(void *p) +{ + network_element_t elm = (network_element_t)p; + free(elm->name); + xbt_free(elm); +} + void surf_init(int *argc, char **argv) { XBT_DEBUG("Create all Libs"); @@ -315,8 +322,8 @@ void surf_init(int *argc, char **argv) storage_type_lib = xbt_lib_new(); XBT_DEBUG("ADD ROUTING LEVEL"); - ROUTING_HOST_LEVEL = xbt_lib_add_level(host_lib,xbt_free); - ROUTING_ASR_LEVEL = xbt_lib_add_level(as_router_lib,xbt_free); + ROUTING_HOST_LEVEL = xbt_lib_add_level(host_lib,routing_asr_host_free); + ROUTING_ASR_LEVEL = xbt_lib_add_level(as_router_lib,routing_asr_host_free); ROUTING_STORAGE_LEVEL = xbt_lib_add_level(storage_lib,xbt_free); ROUTING_STORAGE_HOST_LEVEL = xbt_lib_add_level(storage_lib,routing_storage_host_free); ROUTING_STORAGE_TYPE_LEVEL = xbt_lib_add_level(storage_type_lib,routing_storage_type_free); diff --git a/src/surf/surf_routing_dijkstra.c b/src/surf/surf_routing_dijkstra.c index 764e845bcd..1c403c7de8 100644 --- a/src/surf/surf_routing_dijkstra.c +++ b/src/surf/surf_routing_dijkstra.c @@ -332,7 +332,7 @@ static void dijkstra_get_route_and_latency(AS_t asg, } /* compose route path with links */ - network_element_t gw_src, gw_dst, prev_gw_src, first_gw; + network_element_t gw_src = NULL, gw_dst, prev_gw_src, first_gw = NULL; network_element_t gw_dst_net_elm = NULL, prev_gw_src_net_elm = NULL; for (v = dst_node_id; v != src_node_id; v = pred_arr[v]) { diff --git a/src/surf/surf_routing_generic.c b/src/surf/surf_routing_generic.c index f89383fc05..4301a34250 100644 --- a/src/surf/surf_routing_generic.c +++ b/src/surf/surf_routing_generic.c @@ -31,7 +31,6 @@ AS_t model_generic_create_sized(size_t childsize) { new_component->finalize = model_generic_finalize; new_component->bypassRoutes = xbt_dict_new_homogeneous((void (*)(void *)) generic_free_route); - new_component->index_network_elm = xbt_dynar_new(sizeof(char*),NULL); return new_component; } void model_generic_finalize(AS_t as) { diff --git a/src/surf/surf_routing_none.c b/src/surf/surf_routing_none.c index e4e187caef..726a873ba2 100644 --- a/src/surf/surf_routing_none.c +++ b/src/surf/surf_routing_none.c @@ -50,15 +50,15 @@ AS_t model_none_create_sized(size_t childsize) { new_component->get_onelink_routes = none_get_onelink_routes; new_component->get_bypass_route = none_get_bypass_route; new_component->finalize = model_none_finalize; - new_component->routing_sons = xbt_dict_new_homogeneous(NULL); new_component->index_network_elm = xbt_dynar_new(sizeof(char*),NULL); + return new_component; } void model_none_finalize(AS_t as) { xbt_dict_free(&as->routing_sons); - xbt_free(as->name); + xbt_dynar_free(&as->index_network_elm); xbt_free(as); } diff --git a/src/surf/surf_routing_vivaldi.c b/src/surf/surf_routing_vivaldi.c index a460041422..97c122da3e 100644 --- a/src/surf/surf_routing_vivaldi.c +++ b/src/surf/surf_routing_vivaldi.c @@ -24,7 +24,7 @@ static void vivaldi_get_route_and_latency( char *src = (char*)src_p->name; char *dst = (char*)dst_p->name; - if(routing_get_network_element_type(src) == SURF_NETWORK_ELEMENT_AS) { + if(src_p->rc_type == SURF_NETWORK_ELEMENT_AS) { route->src_gateway = xbt_lib_get_or_null(as_router_lib,ROUTER_PEER(src),ROUTING_ASR_LEVEL); route->dst_gateway = xbt_lib_get_or_null(as_router_lib,ROUTER_PEER(dst),ROUTING_ASR_LEVEL); }