X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7169524b7d6066c8ff315dfca1c529bf3e39a6b3..32965191d7fcfb85c4f0da9f118826b70f7d32ba:/src/msg/msg_gos.cpp diff --git a/src/msg/msg_gos.cpp b/src/msg/msg_gos.cpp index 6c2ea24a9c..bab4a4d1ee 100644 --- a/src/msg/msg_gos.cpp +++ b/src/msg/msg_gos.cpp @@ -5,14 +5,13 @@ #include +#include "src/msg/msg_private.h" #include "src/simix/smx_private.h" /* MSG_task_listen looks inside the rdv directly. Not clean. */ -#include "msg_private.h" -#include "mc/mc.h" -#include "xbt/log.h" -#include "xbt/sysdep.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_gos, msg, "Logging specific to MSG (gos)"); +SG_BEGIN_DECL() + /** \ingroup msg_task_usage * \brief Executes a task and waits for its termination. * @@ -29,7 +28,6 @@ msg_error_t MSG_task_execute(msg_task_t task) msg_error_t ret = MSG_parallel_task_execute(task); MSG_host_del_task(host, task); - return ret; } @@ -49,7 +47,6 @@ msg_error_t MSG_parallel_task_execute(msg_task_t task) msg_error_t MSG_parallel_task_execute_with_timeout(msg_task_t task, double timeout) { simdata_task_t simdata = task->simdata; - simdata_process_t p_simdata = static_cast(SIMIX_process_self_get_data()); e_smx_state_t comp_state; msg_error_t status = MSG_OK; @@ -77,10 +74,8 @@ msg_error_t MSG_parallel_task_execute_with_timeout(msg_task_t task, double timeo simcall_execution_start(task->name, simdata->flops_amount, simdata->priority, simdata->bound)); } simcall_set_category(simdata->compute, task->category); - p_simdata->waiting_action = simdata->compute; comp_state = simcall_execution_wait(simdata->compute); - p_simdata->waiting_action = nullptr; simdata->setNotUsed(); XBT_DEBUG("Execution task '%s' finished in state %d", task->name, (int)comp_state); @@ -314,7 +309,7 @@ static inline msg_comm_t MSG_task_isend_internal(msg_task_t task, const char *al /* Prepare the task to send */ t_simdata = task->simdata; t_simdata->sender = myself; - t_simdata->source = (static_cast(SIMIX_process_self_get_data()))->m_host; + t_simdata->source = MSG_host_self(); t_simdata->setUsed(); t_simdata->comm = nullptr; msg_global->sent_msg++; @@ -624,10 +619,8 @@ msg_error_t MSG_comm_wait(msg_comm_t comm, double timeout) */ void MSG_comm_waitall(msg_comm_t * comm, int nb_elem, double timeout) { - int i = 0; - for (i = 0; i < nb_elem; i++) { + for (int i = 0; i < nb_elem; i++) MSG_comm_wait(comm[i], timeout); - } } /** \ingroup msg_task_usage @@ -709,7 +702,7 @@ msg_task_t MSG_comm_get_task(msg_comm_t comm) /** * \brief This function is called by SIMIX in kernel mode to copy the data of a comm. - * \param comm the comm + * \param synchro the comm * \param buff the data copied * \param buff_size size of the buffer */ @@ -781,7 +774,6 @@ msg_error_t MSG_task_send_with_timeout(msg_task_t task, const char *alias, doubl msg_error_t ret = MSG_OK; simdata_task_t t_simdata = nullptr; msg_process_t process = MSG_process_self(); - simdata_process_t p_simdata = static_cast(SIMIX_process_self_get_data()); simgrid::s4u::MailboxPtr mailbox = simgrid::s4u::Mailbox::byName(alias); int call_end = TRACE_msg_task_put_start(task); //must be after CHECK_HOST() @@ -789,15 +781,13 @@ msg_error_t MSG_task_send_with_timeout(msg_task_t task, const char *alias, doubl /* Prepare the task to send */ t_simdata = task->simdata; t_simdata->sender = process; - t_simdata->source = (static_cast(SIMIX_process_self_get_data())) ->m_host; + t_simdata->source = MSG_host_self(); t_simdata->setUsed(); t_simdata->comm = nullptr; msg_global->sent_msg++; - p_simdata->waiting_task = task; - /* Try to send it by calling SIMIX network layer */ try { smx_activity_t comm = nullptr; /* MC needs the comm to be set to nullptr during the simix call */ @@ -827,7 +817,6 @@ msg_error_t MSG_task_send_with_timeout(msg_task_t task, const char *alias, doubl t_simdata->setNotUsed(); } - p_simdata->waiting_task = nullptr; if (call_end) TRACE_msg_task_put_end(); return ret; @@ -920,38 +909,4 @@ const char *MSG_task_get_category (msg_task_t task) return task->category; } -/** - * \brief Returns the value of a given AS or router property - * - * \param asr the name of a router or AS - * \param name a property name - * \return value of a property (or nullptr if property not set) - */ -const char *MSG_as_router_get_property_value(const char* asr, const char *name) -{ - return static_cast(xbt_dict_get_or_null(MSG_as_router_get_properties(asr), name)); -} - -/** - * \brief Returns a xbt_dict_t consisting of the list of properties assigned to - * a the AS or router - * - * \param asr the name of a router or AS - * \return a dict containing the properties - */ -xbt_dict_t MSG_as_router_get_properties(const char* asr) -{ - return (simcall_asr_get_properties(asr)); -} - -/** - * \brief Change the value of a given AS or router - * - * \param asr the name of a router or AS - * \param name a property name - * \param value what to change the property to - * \param free_ctn the freeing function to use to kill the value on need - */ -void MSG_as_router_set_property_value(const char* asr, const char *name, char *value,void_f_pvoid_t free_ctn) { - xbt_dict_set(MSG_as_router_get_properties(asr), name, value,free_ctn); -} +SG_END_DECL()