*/
msg_error_t MSG_task_destroy(msg_task_t task)
{
- smx_synchro_t action = NULL;
xbt_assert((task != NULL), "Invalid parameter");
if (task->simdata->isused) {
xbt_free(task->name);
- action = task->simdata->compute;
- if (action)
- simcall_execution_destroy(action);
+ if (task->simdata->compute)
+ task->simdata->compute->unref();
/* parallel tasks only */
xbt_free(task->simdata->host_list);
*/
double MSG_task_get_flops_amount(msg_task_t task) {
if (task->simdata->compute) {
- return simcall_execution_get_remains(task->simdata->compute);
+ return task->simdata->compute->remains();
} else {
return task->simdata->flops_amount;
}
*/
double MSG_task_get_remaining_communication(msg_task_t task)
{
- xbt_assert((task != NULL) && (task->simdata != NULL), "Invalid parameter");
XBT_DEBUG("calling simcall_communication_get_remains(%p)", task->simdata->comm);
- return simcall_comm_get_remains(task->simdata->comm);
+ return task->simdata->comm->remains();
}
/** \ingroup m_task_management