/* 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);
}
simix_global = xbt_new0(s_smx_global_t, 1);
- simix_global->host = xbt_dict_new();
simix_global->process_to_run = xbt_dynar_new(sizeof(void *), NULL);
simix_global->process_list =
xbt_swag_new(xbt_swag_offset(proc, process_hookup));
}
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);
}
/**
simix_global->process_list = NULL;
simix_global->process_to_destroy = NULL;
xbt_dict_free(&(simix_global->registered_functions));
- xbt_dict_free(&(simix_global->host));
/* Let's free maestro now */
SIMIX_context_free(simix_global->maestro_process->context);
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();