Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Fix process_time handling
[simgrid.git] / src / mc / mc_record.cpp
index ce7eeb2..479b8dc 100644 (file)
@@ -21,7 +21,7 @@
 #include "src/mc/mc_record.h"
 #include "src/mc/mc_base.h"
 
-#ifdef HAVE_MC
+#if HAVE_MC
 #include "src/mc/mc_request.h"
 #include "src/mc/mc_private.h"
 #include "src/mc/mc_state.h"
 #include "src/mc/mc_liveness.h"
 #endif
 
-extern "C" {
-
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_record, mc,
   " Logging specific to MC record/replay facility");
 
+extern "C" {
+
 char* MC_record_path = nullptr;
 
 void MC_record_replay(mc_record_item_t start, std::size_t len)
@@ -99,7 +99,7 @@ fail:
   return nullptr;
 }
 
-#ifdef HAVE_MC
+#if HAVE_MC
 static char* MC_record_stack_to_string_liveness(xbt_fifo_t stack)
 {
   char* buffer;
@@ -180,15 +180,12 @@ void MC_record_dump_path(xbt_fifo_t stack)
 
 void MC_record_replay_from_string(const char* path_string)
 {
+  simgrid::mc::processes_time.resize(simix_process_maxpid);
   xbt_dynar_t path = MC_record_from_string(path_string);
   mc_record_item_t start = &xbt_dynar_get_as(path, 0, s_mc_record_item_t);
   MC_record_replay(start, xbt_dynar_length(path));
   xbt_dynar_free(&path);
-}
-
-void MC_record_replay_init()
-{
-  simgrid::mc::processes_time.resize(simix_process_maxpid);
+  simgrid::mc::processes_time.clear();
 }
 
 }