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
Correctly destroy the MSG_host object of a VM
[simgrid.git]
/
src
/
msg
/
msg_host.c
diff --git
a/src/msg/msg_host.c
b/src/msg/msg_host.c
index
a767553
..
52b25ae
100644
(file)
--- a/
src/msg/msg_host.c
+++ b/
src/msg/msg_host.c
@@
-30,9
+30,6
@@
msg_host_t __MSG_host_create(smx_host_t workstation)
{
const char *name = SIMIX_host_get_name(workstation);
msg_host_priv_t host = xbt_new0(s_msg_host_priv_t, 1);
- s_msg_vm_t vm; // simply to compute the offset
-
- host->vms = xbt_swag_new(xbt_swag_offset(vm,host_vms_hookup));
#ifdef MSG_USE_DEPRECATED
int i;
@@
-115,19
+112,30
@@
msg_host_t MSG_host_self(void)
}
/*
- * \brief
Destroys
a host (internal call only)
+ * \brief
Frees private data of
a host (internal call only)
*/
-void __MSG_host_
destroy(msg_host_priv_t host) {
-
+void __MSG_host_
priv_free(msg_host_priv_t priv)
+{
#ifdef MSG_USE_DEPRECATED
if (msg_global->max_channel > 0)
- free(
host
->mailboxes);
+ free(
priv
->mailboxes);
#endif
- if (xbt_swag_size(host->vms) > 0 ) {
- XBT_VERB("Host shut down, but it still hosts %d VMs. They will be leaked.",xbt_swag_size(host->vms));
- }
- xbt_swag_free(host->vms);
- free(host);
+
+ free(priv);
+}
+
+/*
+ * \brief Destroys a host (internal call only)
+ */
+void __MSG_host_destroy(msg_host_t host)
+{
+ const char *name = MSG_host_get_name(host);
+ /* TODO:
+ * What happens if VMs still remain on this host?
+ * Revisit here after the surf layer gets stable.
+ **/
+
+ xbt_lib_unset(host_lib, name, MSG_HOST_LEVEL, 1);
}
/** \ingroup m_host_management