From: Christophe ThiƩry Date: Mon, 18 Apr 2011 12:10:15 +0000 (+0200) Subject: Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot//simgrid/simgrid X-Git-Tag: v3.6_beta2~28 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/28816e501b443c4f6956ac8be8706deeb3b52c71?hp=2a99a0d407cf60fe040542bd8ba84a4f24dc573f Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot//simgrid/simgrid --- diff --git a/src/msg/global.c b/src/msg/global.c index 55d4b0aa29..0652b7eb85 100644 --- a/src/msg/global.c +++ b/src/msg/global.c @@ -80,7 +80,7 @@ void MSG_global_init(int *argc, char **argv) #endif XBT_DEBUG("ADD MSG LEVELS"); - MSG_HOST_LEVEL = xbt_lib_add_level(host_lib,free); + MSG_HOST_LEVEL = xbt_lib_add_level(host_lib, (void_f_pvoid_t) __MSG_host_destroy); } /** \defgroup m_channel_management Understanding channels @@ -185,9 +185,6 @@ MSG_error_t MSG_clean(void) MSG_process_killall(0); - free(msg_global); - msg_global = NULL; - /* initialization of the action module */ _MSG_action_exit(); @@ -197,6 +194,9 @@ MSG_error_t MSG_clean(void) SIMIX_clean(); + free(msg_global); + msg_global = NULL; + return MSG_OK; } diff --git a/src/msg/host.c b/src/msg/host.c index eef179c87b..d9739d2dce 100644 --- a/src/msg/host.c +++ b/src/msg/host.c @@ -127,21 +127,12 @@ m_host_t MSG_host_self(void) void __MSG_host_destroy(m_host_t host) { simdata_host_t simdata = NULL; - int i = 0; - char alias[MAX_ALIAS_NAME + 1] = { 0 }; /* buffer used to build the key of the mailbox */ xbt_assert((host != NULL), "Invalid parameters"); /* Clean Simulator data */ - /* SIMIX host will be cleaned when MSG_clean calls SIMIX_clean */ simdata = (host)->simdata; - for (i = 0; i < msg_global->max_channel; i++) { - sprintf(alias, "%s:%d", host->name, i); - MSG_mailbox_free((void *) (simdata->mailboxes[i])); - memset(alias, 0, MAX_ALIAS_NAME + 1); - } - if (msg_global->max_channel > 0) free(simdata->mailboxes);