git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@1749
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
void xbt_ex_free(xbt_ex_t e);
const char * xbt_ex_catname(xbt_errcat_t cat);
+void xbt_ex_display(xbt_ex_t *e);
+
/** @} */
#endif /* __XBT_EX_H__ */
}
/* callback: termination */
-static void __context_ex_terminate(xbt_ex_t *e)
-{
+static void __context_ex_terminate(xbt_ex_t *e) {
+ xbt_ex_display(e);
+
__context_exit(current_context, e->value);
}
return &ctx;
}
-/* default __ex_terminate callback function */
-void __xbt_ex_terminate_default(xbt_ex_t *e) {
+/** @brief shows an exception content and the associated stack if available */
+void xbt_ex_display(xbt_ex_t *e) {
fprintf(stderr,
"** SimGrid: UNCAUGHT EXCEPTION: category: %s; value: %d\n"
free (strings);
}
#endif
+}
+
+
+/* default __ex_terminate callback function */
+void __xbt_ex_terminate_default(xbt_ex_t *e) {
+ xbt_ex_display(e);
abort();
}