Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
A for was a bit too much here. It should be readable now.
[simgrid.git] / src / simix / smx_global.c
index c575ee4..9474cb3 100644 (file)
@@ -43,7 +43,7 @@ static void _XBT_CALL inthandler(int ignored)
      SIMIX_display_process_status();
   }
   else {
-     XBT_INFO("CTRL-C pressed. bailing out without displaying because verbose-exit disabled");
+     XBT_INFO("CTRL-C pressed. bailing out without displaying because verbose-exit is disabled");
   }
   exit(1);
 }
@@ -135,6 +135,7 @@ void SIMIX_clean(void)
   SIMIX_network_exit();
 
   xbt_heap_free(simix_timers);
+  simix_timers = NULL;
   /* Free the remaining data structures */
   xbt_dynar_free(&simix_global->process_to_run);
   xbt_dynar_free(&simix_global->process_that_ran);
@@ -203,7 +204,6 @@ void SIMIX_run(void)
       SIMIX_process_runall();
       xbt_dynar_foreach(simix_global->process_that_ran, iter, process) {
         if (process->request.call != REQ_NO_REQ) {
-          XBT_DEBUG("Handling request %p", &process->request);
           SIMIX_request_pre(&process->request, 0);
         }
       }
@@ -225,16 +225,14 @@ void SIMIX_run(void)
        if (timer->func)
          ((void (*)(void*))timer->func)(timer->args);
     }
-    /* Wake up all process waiting for the action finish */
+    /* Wake up all processes waiting for a Surf action to finish */
     xbt_dynar_foreach(model_list, iter, model) {
-      for (set = model->states.failed_action_set;
-           set;
-           set = (set == model->states.failed_action_set)
-                 ? model->states.done_action_set
-                 : NULL) {
-        while ((action = xbt_swag_extract(set)))
-          SIMIX_request_post((smx_action_t) action->data);
-      }
+      set = model->states.failed_action_set;
+      while ((action = xbt_swag_extract(set)))
+        SIMIX_request_post((smx_action_t) action->data);
+      set = model->states.done_action_set;
+      while ((action = xbt_swag_extract(set)))
+        SIMIX_request_post((smx_action_t) action->data);
     }
 
     /* Clean processes to destroy */
@@ -328,7 +326,7 @@ void SIMIX_display_process_status(void)
   XBT_INFO("%d processes are still running, waiting for something.", nbprocess);
   /*  List the process and their state */
   XBT_INFO
-    ("Legend of the following listing: \"<process>(<pid>) on <host>: <status>.\"");
+    ("Legend of the following listing: \"Process <pid> (<name>@<host>): <status>\"");
   xbt_swag_foreach(process, simix_global->process_list) {
 
     if (process->waiting_action) {