Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
mv counter from msg_task_t to simgrid::msg::Task
[simgrid.git] / src / msg / msg_task.cpp
index c4ad363213fdda8235840756979ca005aa6fa893..3bfa850580cf6342efc16ce6bade7f7191173847 100644 (file)
@@ -61,18 +61,12 @@ void Task::report_multiple_use() const
  */
 msg_task_t MSG_task_create(const char *name, double flop_amount, double message_size, void *data)
 {
-  static std::atomic_ullong counter{0};
-
   msg_task_t task        = new s_msg_task_t;
   /* Simulator Data */
-  task->simdata = new simgrid::msg::Task(name ? name : "", flop_amount, message_size);
-
-  /* Task structure */
-  task->data = data;
-  task->counter  = counter++;
+  task->simdata = new simgrid::msg::Task(name ? name : "", flop_amount, message_size, data);
 
   if (MC_is_active())
-    MC_ignore_heap(&(task->counter), sizeof(task->counter));
+    MC_ignore_heap(&(task->simdata->get_counter()), sizeof(long long int));
 
   return task;
 }
@@ -121,15 +115,15 @@ msg_task_t MSG_parallel_task_create(const char *name, int host_nb, const msg_hos
 }
 
 /** @brief Return the user data of the given task */
-void *MSG_task_get_data(msg_task_t task)
+voidMSG_task_get_data(msg_task_t task)
 {
-  return (task->data);
+  return (task->simdata->get_user_data());
 }
 
 /** @brief Sets the user data of a given task */
 void MSG_task_set_data(msg_task_t task, void *data)
 {
-  task->data = data;
+  task->simdata->set_user_data(data);
 }
 
 /** @brief Sets a function to be called when a task has just been copied.