Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Compile with flag NDEBUG.
[simgrid.git] / src / surf / surf.c
index 8e3ce48..edb6f37 100644 (file)
@@ -205,6 +205,7 @@ int find_model_description(s_surf_model_description_t * table,
   }
   xbt_assert2(0, "Model '%s' is invalid! Valid models are: %s.", name,
               name_list);
+  return -1;
 }
 
 double generic_maxmin_share_resources(xbt_swag_t running_actions,
@@ -309,6 +310,7 @@ void surf_init(int *argc, char **argv)
     history = tmgr_history_new();
 
   surf_config_init(argc, argv);
+  surf_action_init();
   if (MC_IS_ENABLED)
     MC_memory_init();
 }
@@ -362,6 +364,7 @@ void surf_exit(void)
     tmgr_history_free(history);
     history = NULL;
   }
+  surf_action_exit();
 
   if (surf_path)
     xbt_dynar_free(&surf_path);
@@ -414,12 +417,6 @@ double surf_solve(double max_date)
     min = max_date - NOW;
   }
 
-
-#ifdef HAVE_TRACING
-  //NOW changed, dump buffer
-  TRACE_paje_dump_buffer ();
-#endif
-
   DEBUG0("Looking for next action end");
   xbt_dynar_foreach(model_list, iter, model) {
     DEBUG1("Running for Resource [%s]", model->name);
@@ -472,6 +469,10 @@ double surf_solve(double max_date)
   xbt_dynar_foreach(model_list, iter, model)
       model->model_private->update_actions_state(NOW, min);
 
+#ifdef HAVE_TRACING
+  TRACE_paje_dump_buffer (0);
+#endif
+
   return min;
 }