X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b8e92a8fe1dadd3c279b3a790995dd3a1c3f2c03..4ab78e1e1fa8ed22fbeb559d33486669c3b313d9:/src/msg/msg_gos.cpp diff --git a/src/msg/msg_gos.cpp b/src/msg/msg_gos.cpp index 0abc0ce7b4..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. * @@ -48,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; @@ -76,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); @@ -313,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++; @@ -574,14 +570,6 @@ int MSG_comm_testany(xbt_dynar_t comms) */ void MSG_comm_destroy(msg_comm_t comm) { - /* Diagnose a possible user error: destroying a comm that is not done yet, and not detached either */ - if ((comm->s_comm->state == SIMIX_READY || comm->s_comm->state == SIMIX_RUNNING) - && (!static_cast(comm->s_comm)->detached)) - XBT_WARN("You are destroying a communication that is not done yet but %s. " - "This will lead to issues when the other side continues this communication. " - "Are you looking for MSG_task_dsend()?", - (comm->s_comm->state == SIMIX_READY ? "ready" : "running")); - xbt_free(comm); } @@ -631,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 @@ -716,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 */ @@ -788,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() @@ -796,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 */ @@ -834,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; @@ -927,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 - */ -void MSG_as_router_set_property_value(const char* asr, const char* name, char* value) -{ - xbt_dict_set(MSG_as_router_get_properties(asr), name, value, nullptr); -} +SG_END_DECL()