Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove unused include "simgrid_config.h"
[simgrid.git] / src / msg / task.c
index 88c743d..b0c0114 100644 (file)
@@ -68,7 +68,7 @@ m_task_t MSG_task_create(const char *name, double compute_duration,
   simdata->message_size = message_size;
   simdata->rate = -1.0;
   simdata->priority = 1.0;
-  simdata->refcount = 1;
+  simdata->isused = 0;
   simdata->sender = NULL;
   simdata->receiver = NULL;
   simdata->compute = NULL;
@@ -166,9 +166,10 @@ MSG_error_t MSG_task_destroy(m_task_t task)
   xbt_assert0((task != NULL), "Invalid parameter");
 
   /* why? if somebody is using, then you can't free! ok... but will return MSG_OK? when this task will be destroyed? isn't the user code wrong? */
-  task->simdata->refcount--;
-  if (task->simdata->refcount > 0)
+  if (task->simdata->isused > 0) {
+    XBT_DEBUG("Cannot destroy task %p since somebody is using it", task);
     return MSG_OK;
+  }
 #ifdef HAVE_TRACING
   TRACE_msg_task_destroy(task);
 #endif
@@ -263,7 +264,7 @@ double MSG_task_get_remaining_communication(m_task_t task)
 {
   xbt_assert0((task != NULL)
               && (task->simdata != NULL), "Invalid parameter");
-  DEBUG1("calling SIMIX_req_communication_get_remains(%p)",
+  XBT_DEBUG("calling SIMIX_req_communication_get_remains(%p)",
          task->simdata->comm);
   return SIMIX_req_comm_get_remains(task->simdata->comm);
 }
@@ -277,7 +278,7 @@ int MSG_task_is_latency_bounded(m_task_t task)
 {
   xbt_assert0((task != NULL)
               && (task->simdata != NULL), "Invalid parameter");
-  DEBUG1("calling SIMIX_req_communication_is_latency_bounded(%p)",
+  XBT_DEBUG("calling SIMIX_req_communication_is_latency_bounded(%p)",
          task->simdata->comm);
   return SIMIX_req_comm_is_latency_bounded(task->simdata->comm);
 }