Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make the maximal backtrace size configurable
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 15 Feb 2006 14:53:53 +0000 (14:53 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 15 Feb 2006 14:53:53 +0000 (14:53 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@1918 48e7efb5-ca39-0410-a469-dd3cf9ba447f

include/xbt/ex.h
include/xbt/misc.h

index 12f5722..c2d2cac 100644 (file)
@@ -237,7 +237,7 @@ typedef struct {
   int   line;     
   char *func;     /**< to be freed only for remote exceptions */
   /* Backtrace */
   int   line;     
   char *func;     /**< to be freed only for remote exceptions */
   /* Backtrace */
-  void *bt[10];
+  void *bt[XBT_BACKTRACE_SIZE];
   int   used;
 } xbt_ex_t;
 
   int   used;
 } xbt_ex_t;
 
@@ -376,7 +376,7 @@ extern void __xbt_ex_terminate_default(xbt_ex_t *e);
      __xbt_ex_ctx()->ctx_ex.file     = (char*)__FILE__;                        \
      __xbt_ex_ctx()->ctx_ex.line     = __LINE__;                               \
      __xbt_ex_ctx()->ctx_ex.func     = (char*)_XBT_FUNCTION;                   \
      __xbt_ex_ctx()->ctx_ex.file     = (char*)__FILE__;                        \
      __xbt_ex_ctx()->ctx_ex.line     = __LINE__;                               \
      __xbt_ex_ctx()->ctx_ex.func     = (char*)_XBT_FUNCTION;                   \
-     __xbt_ex_ctx()->ctx_ex.used     = backtrace((void**)__xbt_ex_ctx()->ctx_ex.bt,10);\
+     __xbt_ex_ctx()->ctx_ex.used     = backtrace((void**)__xbt_ex_ctx()->ctx_ex.bt,XBT_BACKTRACE_SIZE);\
      /* deal with the exception */                                             \
      if (__xbt_ex_ctx()->ctx_mctx == NULL)                                     \
        __xbt_ex_terminate((xbt_ex_t *)&(__xbt_ex_ctx()->ctx_ex)); /* not catched */\
      /* deal with the exception */                                             \
      if (__xbt_ex_ctx()->ctx_mctx == NULL)                                     \
        __xbt_ex_terminate((xbt_ex_t *)&(__xbt_ex_ctx()->ctx_ex)); /* not catched */\
index 8c2709a..03257f5 100644 (file)
@@ -93,6 +93,8 @@ const char *xbt_procname(void);
    typedef int  (int_f_pvoid_pvoid_t) (void*,void*);
    
    typedef int  (*int_f_void_t)   (void); /* FIXME: rename it to int_pf_void_t */
    typedef int  (int_f_pvoid_pvoid_t) (void*,void*);
    
    typedef int  (*int_f_void_t)   (void); /* FIXME: rename it to int_pf_void_t */
+
+#define XBT_BACKTRACE_SIZE 10 /* FIXME: better place? Do document */
    
 SG_END_DECL()
 
    
 SG_END_DECL()