Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
do not trim in split_quoted, that's expensive, and the caller can do it if his input...
[simgrid.git] / src / xbt / ex.c
index 9ba09f4..1b141a4 100644 (file)
@@ -66,7 +66,7 @@
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_ex, xbt, "Exception mecanism");
 
 /* default __ex_ctx callback function */
-ex_ctx_t *__xbt_ex_ctx_default(void)
+xbt_running_ctx_t *__xbt_ex_ctx_default(void)
 {
   /* Don't scream: this is a default which is never used (so, yes,
      there is one setjump container by running entity).
@@ -78,7 +78,7 @@ ex_ctx_t *__xbt_ex_ctx_default(void)
      It also gets overriden in xbt/context.c when using ucontextes (as well as
      in Java for now, but after the java overhaul, it will get cleaned out)
    */
-  static ex_ctx_t ctx = XBT_CTX_INITIALIZER;
+  static xbt_running_ctx_t ctx = XBT_RUNNING_CTX_INITIALIZER;
 
   return &ctx;
 }
@@ -153,6 +153,10 @@ void xbt_ex_display(xbt_ex_t * e)
   {
     int i;
 
+    if (!xbt_binary_name) {
+      fprintf(stderr, "variable 'xbt_binary_name' set to NULL. Cannot compute the backtrace\n");
+      return;
+    }
     fprintf(stderr, "\n");
     for (i = 0; i < e->used; i++)
       fprintf(stderr, "%s\n", e->bt_strings[i]);
@@ -174,12 +178,12 @@ void __xbt_ex_terminate_default(xbt_ex_t * e)
 }
 
 /* the externally visible API */
-XBT_EXPORT_NO_IMPORT(ex_ctx_cb_t) __xbt_ex_ctx = &__xbt_ex_ctx_default;
+XBT_EXPORT_NO_IMPORT(xbt_running_ctx_fetcher_t) __xbt_running_ctx_fetch = &__xbt_ex_ctx_default;
 XBT_EXPORT_NO_IMPORT(ex_term_cb_t) __xbt_ex_terminate =
-  &__xbt_ex_terminate_default;
+    &__xbt_ex_terminate_default;
 
 
-     void xbt_ex_free(xbt_ex_t e)
+void xbt_ex_free(xbt_ex_t e)
 {
   int i;
 
@@ -422,7 +426,7 @@ static void good_example(void)
       cp3 = mallocex(SMALLAMOUNT);
       strcpy(cp1, "foo");
       strcpy(cp2, "bar");
-    } TRY_CLEANUP {                 /*04 */
+    } TRY_CLEANUP {             /*04 */
       printf("cp3=%s", cp3 == NULL /*02 */ ? "" : cp3);
       if (cp3 != NULL)
         free(cp3);
@@ -437,4 +441,4 @@ static void good_example(void)
   }
   /* end_of_good_example */
 }
-#endif /* SIMGRID_TEST */
+#endif                          /* SIMGRID_TEST */