Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Do not make an expensive call to get_route if it is not needed.
[simgrid.git] / src / simix / smx_global.c
index f3da01e..024009f 100644 (file)
@@ -35,10 +35,16 @@ extern void smx_ctx_raw_new_sr(void);
 /* FIXME: Yeah, I'll do it in a portable maner one day [Mt] */
 #include <signal.h>
 
+int _surf_do_verbose_exit = 1;
 static void _XBT_CALL inthandler(int ignored)
 {
-  XBT_INFO("CTRL-C pressed. Displaying status and bailing out");
-  SIMIX_display_process_status();
+  if ( _surf_do_verbose_exit ) {
+     XBT_INFO("CTRL-C pressed. Displaying status and bailing out");
+     SIMIX_display_process_status();
+  }
+  else {
+     XBT_INFO("CTRL-C pressed. bailing out without displaying because verbose-exit disabled");
+  }
   exit(1);
 }
 
@@ -110,7 +116,7 @@ void SIMIX_global_init(int *argc, char **argv)
   }
 
   XBT_DEBUG("ADD SIMIX LEVELS");
-  SIMIX_HOST_LEVEL = xbt_lib_add_level(host_lib,free);
+  SIMIX_HOST_LEVEL = xbt_lib_add_level(host_lib,SIMIX_host_destroy);
 }
 
 /**
@@ -234,6 +240,10 @@ void SIMIX_run(void)
 
   if (xbt_swag_size(simix_global->process_list) != 0) {
 
+#ifdef HAVE_TRACING
+    TRACE_end();
+#endif
+
     XBT_WARN("Oops ! Deadlock or code not perfectly clean.");
     SIMIX_display_process_status();
     xbt_abort();