SimGrid
3.13
Versatile Simulation of Distributed Systems
|
Classes | |
struct | __ex_mctx_t |
struct | xbt_ex_t |
Structure describing an exception. More... | |
struct | xbt_running_ctx_t |
Macros | |
#define | MAYDAY_SAVE(m) |
#define | MAYDAY_RESTORE(m) |
#define | MAYDAY_CATCH(e) |
#define | __ex_mctx_struct jmp_buf jb; |
#define | __ex_mctx_save(mctx) ( MAYDAY_SAVE(mctx) setjmp((mctx)->jb) == 0) |
#define | __ex_mctx_restored(mctx) /* noop */ |
#define | __ex_mctx_restore(mctx) ( MAYDAY_RESTORE(mctx) (void)longjmp((mctx)->jb, 1)) |
#define | XBT_RUNNING_CTX_INITIALIZER |
#define | XBT_RUNNING_CTX_INITIALIZE(ctx) |
#define | TRY |
Introduce a block where exception may be dealed with. More... | |
#define | TRY_CLEANUP |
optional(!) block for cleanup More... | |
#define | XBT_EX_T_CPLUSPLUSCAST |
#define | CATCH(e) |
the block for catching (ie, deal with) an exception More... | |
#define | CATCH_ANONYMOUS |
like CATCH(e) but without argument More... | |
#define | DO_CATCH(_xbt_do_catch_set_e) |
#define | DO_THROW(running_ctx) |
#define | THROW_PREPARE(_throw_ctx, c, v, m) |
Helper macro for THROW and THROWF. More... | |
#define | _XBT_THROW(c, v, m) |
#define | THROW(c, v) |
Builds and throws an exception. More... | |
#define | THROWF(c, v, ...) |
Builds and throws an exception with a printf-like formatted message. More... | |
#define | THROW_IMPOSSIBLE THROWF(unknown_error, 0, "The Impossible Did Happen (yet again)") |
#define | THROW_UNIMPLEMENTED THROWF(unknown_error, 0, "Function %s unimplemented",__func__) |
#define | THROW_DEADCODE THROWF(unknown_error, 0, "Function %s was supposed to be DEADCODE, but it's not",__func__) |
#define | DIE_IMPOSSIBLE xbt_die("The Impossible Did Happen (yet again)") |
#define | RETHROW |
re-throwing of an already caught exception (ie, pass it to the upper catch block) More... | |
#define | RETHROWF(...) |
like THROWF, but adding some details to the message of an existing exception More... | |
Typedefs | |
typedef struct xbt_running_ctx_t | xbt_running_ctx_t |
typedef xbt_running_ctx_t *(* | xbt_running_ctx_fetcher_t) (void) |
typedef void(* | ex_term_cb_t) (xbt_ex_t *) |
Enumerations | |
enum | xbt_errcat_t { unknown_error = 0, arg_error, bound_error, mismatch_error, not_found_error, system_error, network_error, timeout_error, cancel_error, thread_error, host_error, tracing_error, io_error, vm_error } |
different kind of errors More... | |
Functions | |
const char * | xbt_ex_catname (xbt_errcat_t cat) |
returns a short name for the given exception category More... | |
xbt_running_ctx_t * | __xbt_ex_ctx_default (void) |
void | __xbt_ex_terminate_default (xbt_ex_t *e) |
void | xbt_ex_free (xbt_ex_t e) |
Exception destructor. More... | |
void | xbt_ex_display (xbt_ex_t *e) |
The display made by an exception that is not catched. More... | |
void | xbt_backtrace_display_current (void) |
Shows a backtrace of the current location. More... | |
int | xbt_backtrace_no_malloc (void **bt, int size) |
reimplementation of glibc backtrace based directly on gcc library, without implicit malloc More... | |
void | xbt_backtrace_current (xbt_ex_t *e) |
Captures a backtrace for further use. More... | |
void | xbt_backtrace_display (xbt_ex_t *e) |
Display a previously captured backtrace. More... | |
int | xbt_libunwind_backtrace (void *bt[XBT_BACKTRACE_SIZE], int size) |
Get current backtrace with libunwind. More... | |
Variables | |
const xbt_running_ctx_t | __xbt_ex_ctx_initializer |
xbt_running_ctx_fetcher_t | __xbt_running_ctx_fetch |
ex_term_cb_t | __xbt_ex_terminate |
#define MAYDAY_SAVE | ( | m | ) |
#define MAYDAY_RESTORE | ( | m | ) |
#define MAYDAY_CATCH | ( | e | ) |
#define __ex_mctx_struct jmp_buf jb; |
#define __ex_mctx_save | ( | mctx | ) | ( MAYDAY_SAVE(mctx) setjmp((mctx)->jb) == 0) |
#define __ex_mctx_restored | ( | mctx | ) | /* noop */ |
#define __ex_mctx_restore | ( | mctx | ) | ( MAYDAY_RESTORE(mctx) (void)longjmp((mctx)->jb, 1)) |