X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0f5e8daaa6e9f74521068aa75837200bcd182ea6..9a7c6c8f75db930814b5ca356795f8ff2347c5d7:/src/msg/private.h diff --git a/src/msg/private.h b/src/msg/private.h index d0e1361ef5..a6e91942f4 100644 --- a/src/msg/private.h +++ b/src/msg/private.h @@ -15,39 +15,29 @@ #include "xbt/swag.h" #include "xbt/dict.h" #include "xbt/config.h" -#include "instr/private.h" +#include "instr/instr_private.h" SG_BEGIN_DECL() /**************** datatypes **********************************/ -/* this structure represents a mailbox */ -typedef struct s_msg_mailbox { - char *alias; /* the key of the mailbox in the global dictionary */ - smx_cond_t cond; /* the condition on the mailbox */ - smx_rdv_t rdv; /* SIMIX rendez-vous point */ -} s_msg_mailbox_t; - typedef struct simdata_host { smx_host_t smx_host; /* SURF modeling */ - struct s_msg_mailbox **mailboxes; /* mailboxes to store msg tasks of of the host */ - smx_mutex_t mutex; /* mutex to access the host */ + msg_mailbox_t *mailboxes; /* mailboxes to store msg tasks of of the host */ } s_simdata_host_t; /********************************* Task **************************************/ typedef struct simdata_task { smx_action_t compute; /* SURF modeling of computation */ - smx_comm_t comm; /* SIMIX communication */ + smx_action_t comm; /* SIMIX communication */ double message_size; /* Data size */ double computation_amount; /* Computation size */ - smx_cond_t cond; - smx_mutex_t mutex; /* Task mutex */ m_process_t sender; m_process_t receiver; m_host_t source; double priority; double rate; - int refcount; + int isused; /* Indicates whether the task is used in SIMIX currently */ int host_nb; /* ==0 if sequential task; parallel task if not */ /******* Parallel Tasks Only !!!! *******/ smx_host_t *host_list; @@ -102,8 +92,10 @@ XBT_PUBLIC_DATA(MSG_Global_t) msg_global; #define MSG_RETURN(val) do {PROCESS_SET_ERRNO(val);return(val);} while(0) /* #define CHECK_ERRNO() ASSERT((PROCESS_GET_ERRNO()!=MSG_HOST_FAILURE),"Host failed, you cannot call this function.") */ -#define CHECK_HOST() xbt_assert1(SIMIX_host_get_state(SIMIX_host_self())==1,\ - "Host failed, you cannot call this function. (state=%d)",SIMIX_host_get_state(SIMIX_host_self())) +/*#define CHECK_HOST() xbt_assert1(SIMIX_req_host_get_state(SIMIX_host_self())==1,\ + "Host failed, you cannot call this function. (state=%d)",SIMIX_req_host_get_state(SIMIX_host_self()))*/ +#define CHECK_HOST() + m_host_t __MSG_host_create(smx_host_t workstation, void *data); @@ -111,11 +103,11 @@ void __MSG_host_destroy(m_host_t host); void __MSG_display_process_status(void); -void __MSG_process_cleanup(void *arg); -void *_MSG_process_create_from_SIMIX(const char *name, - xbt_main_func_t code, void *data, - char *hostname, int argc, - char **argv, xbt_dict_t properties); +void __MSG_process_cleanup(smx_process_t smx_proc); +void _MSG_process_create_from_SIMIX(void *process, const char *name, + xbt_main_func_t code, void *data, + char *hostname, int argc, + char **argv, xbt_dict_t properties); void _MSG_process_kill_from_SIMIX(void *p); void _MSG_action_init(void);