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
recommit my initial version of cloud stuff for 3.8. Hopefully with all files
[simgrid.git]
/
src
/
msg
/
msg_host.c
diff --git
a/src/msg/msg_host.c
b/src/msg/msg_host.c
index
92f2cf1
..
086d9bf
100644
(file)
--- a/
src/msg/msg_host.c
+++ b/
src/msg/msg_host.c
@@
-8,6
+8,9
@@
#include "msg/msg_mailbox.h"
#include "xbt/sysdep.h"
#include "xbt/log.h"
#include "msg/msg_mailbox.h"
#include "xbt/sysdep.h"
#include "xbt/log.h"
+#include "simgrid/simix.h"
+
+XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(msg);
/** @addtogroup m_host_management
* \htmlonly <!-- DOXYGEN_NAVBAR_LABEL="Hosts" --> \endhtmlonly
/** @addtogroup m_host_management
* \htmlonly <!-- DOXYGEN_NAVBAR_LABEL="Hosts" --> \endhtmlonly
@@
-27,8
+30,10
@@
m_host_t __MSG_host_create(smx_host_t workstation)
{
const char *name = SIMIX_host_get_name(workstation);
m_host_t host = xbt_new0(s_m_host_t, 1);
{
const char *name = SIMIX_host_get_name(workstation);
m_host_t host = xbt_new0(s_m_host_t, 1);
+ s_msg_vm_t vm; // simply to compute the offset
host->smx_host = workstation;
host->smx_host = workstation;
+ host->vms = xbt_swag_new(xbt_swag_offset(vm,host_vms_hookup));
#ifdef MSG_USE_DEPRECATED
int i;
#ifdef MSG_USE_DEPRECATED
int i;
@@
-46,7
+51,6
@@
m_host_t __MSG_host_create(smx_host_t workstation)
}
#endif
}
#endif
- simcall_host_set_data(workstation, host);
xbt_lib_set(host_lib,name,MSG_HOST_LEVEL,host);
return host;
xbt_lib_set(host_lib,name,MSG_HOST_LEVEL,host);
return host;
@@
-61,16
+65,9
@@
m_host_t __MSG_host_create(smx_host_t workstation)
*/
m_host_t MSG_get_host_by_name(const char *name)
{
*/
m_host_t MSG_get_host_by_name(const char *name)
{
- smx_host_t simix_h = NULL;
- simix_h = simcall_host_get_by_name(name);
-
- if (simix_h == NULL)
- return NULL;
-
- return (m_host_t) simcall_host_get_data(simix_h);
+ return (m_host_t) xbt_lib_get_or_null(host_lib,name,MSG_HOST_LEVEL);
}
}
-
/** \ingroup m_host_management
*
* \brief Set the user data of a #m_host_t.
/** \ingroup m_host_management
*
* \brief Set the user data of a #m_host_t.
@@
-94,7
+91,6
@@
MSG_error_t MSG_host_set_data(m_host_t host, void *data)
*/
void *MSG_host_get_data(m_host_t host)
{
*/
void *MSG_host_get_data(m_host_t host)
{
-
return SIMIX_host_get_data(host->smx_host);
}
return SIMIX_host_get_data(host->smx_host);
}
@@
-128,7
+124,11
@@
void __MSG_host_destroy(m_host_t host) {
if (msg_global->max_channel > 0)
free(host->mailboxes);
#endif
if (msg_global->max_channel > 0)
free(host->mailboxes);
#endif
-
+ if (xbt_swag_size(host->vms) > 0 ) {
+ XBT_VERB("Host %s shut down, but it still hosts %d VMs. They will be leaked.",
+ MSG_host_get_name(host),xbt_swag_size(host->vms));
+ }
+ xbt_swag_free(host->vms);
free(host);
}
free(host);
}