Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
[simgrid.git] / src / msg / msg_task.cpp
index 783715c..a3b6d20 100644 (file)
@@ -196,7 +196,6 @@ void MSG_task_set_name(msg_task_t task, const char *name)
  */
 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) {
@@ -207,9 +206,8 @@ msg_error_t MSG_task_destroy(msg_task_t task)
 
   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);
@@ -252,7 +250,7 @@ msg_error_t MSG_task_cancel(msg_task_t task)
  */
 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;
   }
@@ -287,9 +285,8 @@ void MSG_task_set_bytes_amount(msg_task_t task, double data_size)
  */
 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