X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2a6382661d9ccbe7198decb53b042e715998a4c4..8245ca78ac8d0e0816bda8acb0d8e92a684b6e0b:/src/msg/msg_task.cpp diff --git a/src/msg/msg_task.cpp b/src/msg/msg_task.cpp index 4757400c92..e7b181cd50 100644 --- a/src/msg/msg_task.cpp +++ b/src/msg/msg_task.cpp @@ -16,6 +16,9 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(msg_task, msg, "Logging specific to MSG (task)"); namespace simgrid { + +template class xbt::Extendable; + namespace msg { Task::Task(const std::string& name, double flops_amount, double bytes_amount, void* data) @@ -100,9 +103,9 @@ msg_error_t Task::execute() s4u::CommPtr Task::send_async(const std::string& alias, void_f_pvoid_t cleanup, bool detached) { if (TRACE_actor_is_enabled()) { - container_t process_container = instr::Container::by_name(instr_pid(*MSG_process_self())); + auto* process_container = instr::Container::by_name(instr_pid(*MSG_process_self())); std::string key = std::string("p") + std::to_string(get_id()); - instr::Container::get_root()->get_link("ACTOR_TASK_LINK")->start_event(process_container, "SR", key); + instr::Container::get_root()->get_link("ACTOR_LINK")->start_event(process_container, "SR", key); } /* Prepare the task to send */ @@ -210,7 +213,7 @@ void Task::report_multiple_use() const */ msg_task_t MSG_task_create(const char *name, double flop_amount, double message_size, void *data) { - return simgrid::msg::Task::create(name ? std::string(name) : "", flop_amount, message_size, data); + return simgrid::msg::Task::create(name ? name : "", flop_amount, message_size, data); } /** @brief Creates a new parallel task @@ -570,10 +573,10 @@ msg_error_t MSG_task_receive_with_timeout_bounded(msg_task_t* task, const char* } if (TRACE_actor_is_enabled() && ret != MSG_HOST_FAILURE && ret != MSG_TRANSFER_FAILURE && ret != MSG_TIMEOUT) { - container_t process_container = simgrid::instr::Container::by_name(instr_pid(*MSG_process_self())); + auto* process_container = simgrid::instr::Container::by_name(instr_pid(*MSG_process_self())); std::string key = std::string("p") + std::to_string((*task)->get_id()); - simgrid::instr::Container::get_root()->get_link("ACTOR_TASK_LINK")->end_event(process_container, "SR", key); + simgrid::instr::Container::get_root()->get_link("ACTOR_LINK")->end_event(process_container, "SR", key); } return ret; } @@ -634,13 +637,7 @@ msg_comm_t MSG_task_irecv_bounded(msg_task_t* task, const char* name, double rat */ int MSG_task_listen_from(const char* alias) { - /* looks inside the rdv directly. Not clean. */ - simgrid::kernel::activity::CommImplPtr comm = simgrid::s4u::Mailbox::by_name(alias)->front(); - - if (comm && comm->src_actor_) - return comm->src_actor_->get_pid(); - else - return -1; + return simgrid::s4u::Mailbox::by_name(alias)->listen_from(); } /** @brief Destroys the given task.