Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update the start_time and finish_time of tasks on completion/failure
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 7 Oct 2009 10:06:10 +0000 (10:06 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 7 Oct 2009 10:06:10 +0000 (10:06 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6734 48e7efb5-ca39-0410-a469-dd3cf9ba447f

ChangeLog
src/simdag/sd_global.c

index 77c6c1e..448d0c7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -73,6 +73,7 @@ SimGrid (3.3.4) unstable; urgency=low
     SD_task_get_parents(task) and SD_task_get_children(task)
  * Add getters on amount of workstations and list:
     SD_task_get_workstation_count(t) and SD_task_get_workstation_list(t)
     SD_task_get_parents(task) and SD_task_get_children(task)
  * Add getters on amount of workstations and list:
     SD_task_get_workstation_count(t) and SD_task_get_workstation_list(t)
+ * Update the start_time and finish_time of tasks on completion/failure
 
    
  Bug fixes:
 
    
  Bug fixes:
index f97eec4..8fb38b6 100644 (file)
@@ -239,6 +239,8 @@ SD_task_t *SD_simulate(double how_long)
     xbt_dynar_foreach(model_list, iter, model) {
       while ((action = xbt_swag_extract(model->states.done_action_set))) {
         task = action->data;
     xbt_dynar_foreach(model_list, iter, model) {
       while ((action = xbt_swag_extract(model->states.done_action_set))) {
         task = action->data;
+        task->start_time = surf_workstation_model->action_get_start_time(task->surf_action);
+        task->finish_time = surf_get_clock();
         INFO1("Task '%s' done", SD_task_get_name(task));
         DEBUG0("Calling __SD_task_just_done");
         __SD_task_just_done(task);
         INFO1("Task '%s' done", SD_task_get_name(task));
         DEBUG0("Calling __SD_task_just_done");
         __SD_task_just_done(task);
@@ -268,6 +270,8 @@ SD_task_t *SD_simulate(double how_long)
       /* let's see which tasks have just failed */
       while ((action = xbt_swag_extract(model->states.failed_action_set))) {
         task = action->data;
       /* let's see which tasks have just failed */
       while ((action = xbt_swag_extract(model->states.failed_action_set))) {
         task = action->data;
+        task->start_time = surf_workstation_model->action_get_start_time(task->surf_action);
+        task->finish_time = surf_get_clock();
         INFO1("Task '%s' failed", SD_task_get_name(task));
         __SD_task_set_state(task, SD_FAILED);
         surf_workstation_model->action_unref(action);
         INFO1("Task '%s' failed", SD_task_get_name(task));
         __SD_task_set_state(task, SD_FAILED);
         surf_workstation_model->action_unref(action);