Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
XBT_RUNNING_CTX_INITIALIZER: don't list all element of bt[] in initializer.
[simgrid.git] / include / xbt / ex.h
index f1f3cc9..77b1967 100644 (file)
@@ -262,7 +262,8 @@ typedef enum {
   cancel_error,   /**< an action was canceled */
   thread_error,    /**< error while [un]locking */
   host_error,                            /**< host failed */
-  tracing_error   /**< error during the simulation tracing */
+  tracing_error,   /**< error during the simulation tracing */
+  io_error          /**< disk or file error */
 } xbt_errcat_t;
 
 XBT_PUBLIC(const char *) xbt_ex_catname(xbt_errcat_t cat);
@@ -304,7 +305,7 @@ typedef struct {
 #define XBT_RUNNING_CTX_INITIALIZER \
     { NULL, 0, { /* content */ NULL, unknown_error, 0, \
                  /* throw point*/ 0,NULL, NULL,0, NULL, 0, NULL,\
-                 /* backtrace */ 0,NULL,{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL} } }
+                 /* backtrace */ 0, NULL, /* bt[] */ } }
 #define XBT_RUNNING_CTX_INITIALIZE(ctx) \
     do { \
         (ctx)->ctx_mctx          = NULL; \
@@ -508,6 +509,8 @@ XBT_PUBLIC(void) xbt_ex_free(xbt_ex_t e);
 
 /** @brief Shows a backtrace of the current location */
 XBT_PUBLIC(void) xbt_backtrace_display_current(void);
+/** @brief reimplementation of glibc backtrace based directly on gcc library, without implicit malloc  */
+XBT_PUBLIC(int)xbt_backtrace_no_malloc(void**bt, int size);
 /** @brief Captures a backtrace for further use */
 XBT_PUBLIC(void) xbt_backtrace_current(xbt_ex_t * e);
 /** @brief Display a previously captured backtrace */