msg_actor = (simgrid::msg::ActorExt*)SIMIX_process_self_get_data();
SIMIX_process_self_set_data(nullptr);
} else {
- msg_actor = (simgrid::msg::ActorExt*)smx_actor->userdata;
+ msg_actor = (simgrid::msg::ActorExt*)smx_actor->getUserData();
simcall_process_set_data(smx_actor, nullptr);
}
return nullptr;
}
- simcall_process_on_exit(process, (int_f_pvoid_pvoid_t)TRACE_msg_process_kill, process);
+ process->ciface()->on_exit((int_f_pvoid_pvoid_t)TRACE_msg_process_kill, process);
return process->ciface();
}
SIMIX_process_attach(name, new simgrid::msg::ActorExt(data), host->get_cname(), &props, nullptr);
if (not process)
xbt_die("Could not attach");
- simcall_process_on_exit(process,(int_f_pvoid_pvoid_t)TRACE_msg_process_kill,process);
+ process->ciface()->on_exit((int_f_pvoid_pvoid_t)TRACE_msg_process_kill, process);
return process->ciface();
}
xbt_assert(process != nullptr, "Invalid parameter: first parameter must not be nullptr!");
/* get from SIMIX the MSG process data, and then the user data */
- simgrid::msg::ActorExt* msgExt = (simgrid::msg::ActorExt*)process->get_impl()->userdata;
+ simgrid::msg::ActorExt* msgExt = (simgrid::msg::ActorExt*)process->get_impl()->getUserData();
if (msgExt)
return msgExt->data;
else
{
xbt_assert(process != nullptr, "Invalid parameter: first parameter must not be nullptr!");
- static_cast<simgrid::msg::ActorExt*>(process->get_impl()->userdata)->data = data;
+ static_cast<simgrid::msg::ActorExt*>(process->get_impl()->getUserData())->data = data;
return MSG_OK;
}
* You should use them to free the data used by your process.
*/
void MSG_process_on_exit(int_f_pvoid_pvoid_t fun, void *data) {
- simcall_process_on_exit(SIMIX_process_self(), fun, data);
+ simgrid::s4u::this_actor::on_exit(fun, data);
}
/**
* \ingroup m_process_management