A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix memleak
[simgrid.git]
/
src
/
surf
/
surf_routing.cpp
diff --git
a/src/surf/surf_routing.cpp
b/src/surf/surf_routing.cpp
index
e39b3e7
..
6216697
100644
(file)
--- a/
src/surf/surf_routing.cpp
+++ b/
src/surf/surf_routing.cpp
@@
-397,7
+397,7
@@
void routing_AS_begin(sg_platf_AS_cbarg_t AS)
info->p_rcComponent = new_as->p_routingFather;
info->p_rcType = SURF_NETWORK_ELEMENT_AS;
info->p_rcComponent = new_as->p_routingFather;
info->p_rcType = SURF_NETWORK_ELEMENT_AS;
- info->p_name =
new_as->p_name
;
+ info->p_name =
xbt_strdup(new_as->p_name)
;
xbt_lib_set(as_router_lib, info->p_name, ROUTING_ASR_LEVEL,
(void *) info);
xbt_lib_set(as_router_lib, info->p_name, ROUTING_ASR_LEVEL,
(void *) info);
@@
-1263,13
+1263,15
@@
static void finalize_rec(AsPtr as) {
/** \brief Frees all memory allocated by the routing module */
void routing_exit(void) {
/** \brief Frees all memory allocated by the routing module */
void routing_exit(void) {
- if (!routing_platf)
- return;
- xbt_dynar_free(&routing_platf->p_lastRoute);
- finalize_rec(routing_platf->p_root);
delete routing_platf;
}
delete routing_platf;
}
+RoutingPlatf::~RoutingPlatf()
+{
+ xbt_dynar_free(&p_lastRoute);
+ finalize_rec(p_root);
+}
+
AS_t surf_AS_get_routing_root() {
return routing_platf->p_root;
}
AS_t surf_AS_get_routing_root() {
return routing_platf->p_root;
}