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
Re-implement the tab.
[simgrid.git]
/
src
/
simdag
/
sd_global.c
diff --git
a/src/simdag/sd_global.c
b/src/simdag/sd_global.c
index
30f5d47
..
87a0995
100644
(file)
--- a/
src/simdag/sd_global.c
+++ b/
src/simdag/sd_global.c
@@
-52,7
+52,7
@@
void SD_init(int *argc, char **argv)
s_SD_task_t task;
s_SD_task_t task;
- xbt_assert
0
(!SD_INITIALISED(), "SD_init() already called");
+ xbt_assert(!SD_INITIALISED(), "SD_init() already called");
/* Connect our log channels: that must be done manually under windows */
XBT_LOG_CONNECT(sd_kernel, sd);
/* Connect our log channels: that must be done manually under windows */
XBT_LOG_CONNECT(sd_kernel, sd);
@@
-98,8
+98,8
@@
void SD_init(int *argc, char **argv)
#endif
XBT_DEBUG("ADD SD LEVELS");
#endif
XBT_DEBUG("ADD SD LEVELS");
- SD_HOST_LEVEL = xbt_lib_add_level(host_lib,
free
);
- SD_LINK_LEVEL = xbt_lib_add_level(link_lib,
free
);
+ SD_HOST_LEVEL = xbt_lib_add_level(host_lib,
__SD_workstation_destroy
);
+ SD_LINK_LEVEL = xbt_lib_add_level(link_lib,
__SD_link_destroy
);
}
/**
}
/**
@@
-185,7
+185,7
@@
void SD_create_environment(const char *platform_file)
void **surf_workstation = NULL;
void **surf_link = NULL;
void **surf_workstation = NULL;
void **surf_link = NULL;
- platform_filename =
bprintf("%s",
platform_file);
+ platform_filename =
xbt_strdup(
platform_file);
// Reset callbacks
surf_parse_reset_callbacks();
// Reset callbacks
surf_parse_reset_callbacks();
@@
-397,6
+397,7
@@
void SD_exit(void)
#ifdef HAVE_TRACING
TRACE_surf_release();
#endif
#ifdef HAVE_TRACING
TRACE_surf_release();
#endif
+
if (SD_INITIALISED()) {
XBT_DEBUG("Destroying workstation and link dictionaries...");
if (SD_INITIALISED()) {
XBT_DEBUG("Destroying workstation and link dictionaries...");
@@
-420,6
+421,14
@@
void SD_exit(void)
xbt_swag_free(sd_global->done_task_set);
xbt_swag_free(sd_global->failed_task_set);
xbt_swag_free(sd_global->done_task_set);
xbt_swag_free(sd_global->failed_task_set);
+ XBT_DEBUG("Exiting Surf...");
+ surf_exit();
+
+ // Exit the LIB host_lib
+ xbt_lib_free(&host_lib);
+ xbt_lib_free(&link_lib);
+ xbt_lib_free(&as_router_lib);
+
xbt_free(sd_global);
sd_global = NULL;
xbt_free(sd_global);
sd_global = NULL;
@@
-431,8
+440,6
@@
void SD_exit(void)
jedule_sd_cleanup();
#endif
jedule_sd_cleanup();
#endif
- XBT_DEBUG("Exiting Surf...");
- surf_exit();
} else {
XBT_WARN("SD_exit() called, but SimDag is not running");
/* we cannot use exceptions here because xbt is not running! */
} else {
XBT_WARN("SD_exit() called, but SimDag is not running");
/* we cannot use exceptions here because xbt is not running! */