X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1bfdc9a38c22af6a9becf133be154a2fa2bc6589..194df46818e3f10278130de231015fb42a6b29f7:/src/simix/smx_private.h diff --git a/src/simix/smx_private.h b/src/simix/smx_private.h index 495ba7a795..34cf63e69a 100644 --- a/src/simix/smx_private.h +++ b/src/simix/smx_private.h @@ -33,6 +33,9 @@ //#define TIME_BENCH_PER_SR /* this aims at measuring the time spent in each scheduling round per each thread. The code is thus run in sequential to bench separately each SSR */ //#define TIME_BENCH_AMDAHL /* this aims at measuring the porting of time that could be parallelized at maximum (to get the optimal speedup by applying the amdahl law). */ +#ifdef TIME_BENCH_PER_SR +void smx_ctx_raw_new_sr(void); +#endif /********************************** Simix Global ******************************/ typedef struct s_smx_global { smx_context_factory_t context_factory; @@ -68,11 +71,11 @@ XBT_PUBLIC(void) SIMIX_clean(void); #endif /******************************** Exceptions *********************************/ - -#define SMX_EXCEPTION(issuer, c, v, m) \ +/** @brief Ask to the provided simix process to raise the provided exception */ +#define SMX_EXCEPTION(issuer, cat, val, msg) \ if (1) { \ - smx_process_t _smx_throw_issuer = (issuer); \ - THROW_PREPARE(_smx_throw_issuer->running_ctx, (c), (v), xbt_strdup(m)); \ + smx_process_t _smx_throw_issuer = (issuer); /* evaluate only once */\ + THROW_PREPARE(_smx_throw_issuer->running_ctx, (cat), (val), xbt_strdup(msg)); \ _smx_throw_issuer->doexception = 1; \ } else ((void)0)