Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
forgot to add this include
[simgrid.git] / src / mc / mc_global.c
index 126622e..43bee19 100644 (file)
@@ -4,6 +4,9 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
+#include "mc_base.h"
+
+#ifndef _XBT_WIN32
 #include <unistd.h>
 #include <sys/types.h>
 #include <sys/wait.h>
 
 #define UNW_LOCAL_ONLY
 #include <libunwind.h>
+#endif
 
 #include "simgrid/sg_config.h"
 #include "../surf/surf_private.h"
 #include "../simix/smx_private.h"
-#include "../xbt/mmalloc/mmprivate.h"
 #include "xbt/fifo.h"
-#include "mc_private.h"
-#include "mc_record.h"
 #include "xbt/automaton.h"
 #include "xbt/dict.h"
 
+#ifdef HAVE_MC
+#include "../xbt/mmalloc/mmprivate.h"
+#include "mc_private.h"
+#endif
+#include "mc_record.h"
+
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_global, mc,
                                 "Logging specific to MC (global)");
 
@@ -178,22 +185,25 @@ void MC_init()
     /* Ignore local variable about time used for tracing */
     MC_ignore_local_variable("start_time", "*");
 
+    /* Main MC state: */
     MC_ignore_global_variable("mc_model_checker");
+    MC_ignore_global_variable("communications_pattern");
+    MC_ignore_global_variable("initial_communications_pattern");
+    MC_ignore_global_variable("incomplete_communications_pattern");
 
-    // Mot of those things could be moved into mc_model_checker:
-    MC_ignore_global_variable("compared_pointers");
+    /* MC __thread variables: */
+    MC_ignore_global_variable("mc_diff_info");
     MC_ignore_global_variable("mc_comp_times");
     MC_ignore_global_variable("mc_snapshot_comparison_time");
+
+    /* This MC state is used in MC replay as well: */
     MC_ignore_global_variable("mc_time");
-    MC_ignore_global_variable("smpi_current_rank");
-    MC_ignore_global_variable("counter");       /* Static variable used for tracing */
-    MC_ignore_global_variable("maestro_stack_start");
-    MC_ignore_global_variable("maestro_stack_end");
+
+    /* Static variable used for tracing */
+    MC_ignore_global_variable("counter");
+
+    /* SIMIX */
     MC_ignore_global_variable("smx_total_comms");
-    MC_ignore_global_variable("communications_pattern");
-    MC_ignore_global_variable("initial_communications_pattern");
-    MC_ignore_global_variable("incomplete_communications_pattern");
-    MC_ignore_global_variable("mc_diff_info");
 
     MC_ignore_heap(mc_time, simix_process_maxpid * sizeof(double));
 
@@ -760,11 +770,6 @@ void MC_cut(void)
   user_max_depth_reached = 1;
 }
 
-void MC_process_clock_add(smx_process_t process, double amount)
-{
-  mc_time[process->pid] += amount;
-}
-
 void MC_automaton_load(const char *file)
 {
 
@@ -845,3 +850,8 @@ double MC_process_clock_get(smx_process_t process)
     return 0;
   }
 }
+
+void MC_process_clock_add(smx_process_t process, double amount)
+{
+  mc_time[process->pid] += amount;
+}