Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Don't have an extra actor in s4u-synchro-mutex to create the others
[simgrid.git] / src / mc / mc_global.cpp
index 5a75da0..24631fe 100644 (file)
@@ -41,23 +41,9 @@ std::vector<double> processes_time;
 
 #if SIMGRID_HAVE_MC
 
-/* Liveness */
-
-namespace simgrid {
-namespace mc {
-
-xbt_automaton_t property_automaton = nullptr;
-
-}
-}
-
 /* Dot output */
 FILE *dot_output = nullptr;
 
-
-/*******************************  Initialization of MC *******************************/
-/*********************************************************************************/
-
 void MC_init_dot_output()
 {
   dot_output = fopen(_sg_mc_dot_output_file.get().c_str(), "w");
@@ -67,20 +53,15 @@ void MC_init_dot_output()
           "digraph graphname{\n fixedsize=true; rankdir=TB; ranksep=.25; edge [fontsize=12]; node [fontsize=10, shape=circle,width=.5 ]; graph [resolution=20, fontsize=10];\n");
 }
 
-/*******************************  Core of MC *******************************/
-/**************************************************************************/
-
-void MC_run()
-{
-  simgrid::mc::processes_time.resize(simgrid::kernel::actor::get_maxpid());
-  MC_ignore_heap(simgrid::mc::processes_time.data(),
-    simgrid::mc::processes_time.size() * sizeof(simgrid::mc::processes_time[0]));
-  simgrid::mc::AppSide::get()->main_loop();
-}
 
 namespace simgrid {
 namespace mc {
 
+/* Liveness */
+xbt_automaton_t property_automaton = nullptr;
+
+/*******************************  Core of MC *******************************/
+/**************************************************************************/
 void dumpStack(FILE* file, unw_cursor_t* cursor)
 {
   int nframe = 0;
@@ -115,12 +96,12 @@ double MC_process_clock_get(const simgrid::kernel::actor::ActorImpl* process)
 {
   if (simgrid::mc::processes_time.empty())
     return 0;
-  if (process != nullptr)
-    return simgrid::mc::processes_time[process->get_pid()];
-  return -1;
+  if (process == nullptr)
+    return -1;
+  return simgrid::mc::processes_time.at(process->get_pid());
 }
 
 void MC_process_clock_add(const simgrid::kernel::actor::ActorImpl* process, double amount)
 {
-  simgrid::mc::processes_time[process->get_pid()] += amount;
+  simgrid::mc::processes_time.at(process->get_pid()) += amount;
 }