Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : fix comm determinism detection mechanisms
[simgrid.git] / src / smpi / smpi_global.c
index fbf18b4..3cb7b93 100644 (file)
@@ -93,6 +93,7 @@ void smpi_process_init(int *argc, char ***argv)
     if(temp_bar != NULL) data->finalization_barrier = temp_bar;
     data->index = index;
     data->instance_id = instance_id;
+    xbt_free(simcall_process_get_data(proc));
     simcall_process_set_data(proc, data);
     if (*argc > 3) {
       free((*argv)[1]);
@@ -132,10 +133,14 @@ void smpi_process_destroy(void)
  */
 void smpi_process_finalize(void)
 {
+    // This leads to an explosion of the search graph
+    // which cannot be reduced:
+    if(MC_is_active())
+      return;
+
     int index = smpi_process_index();
     // wait for all pending asynchronous comms to finish
     xbt_barrier_wait(process_data[index_to_process_data[index]]->finalization_barrier);
-
 }
 
 /**