- for (i = 0; i < msg_global->max_channel; i++)
- xbt_fifo_free(simdata->mbox[i]);
- free(simdata->mbox);
- free(simdata->sleeping);
- xbt_assert0((xbt_fifo_size(simdata->process_list)==0),
- "Some process are still running on this host");
- xbt_fifo_free(simdata->process_list);
+ 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);