X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/863adae6473cc1fe177d0c48bc07b752beb83880..89df17fd2f872e224e49bbdeeba43ca76a5b7d71:/src/mc/mc_base.h diff --git a/src/mc/mc_base.h b/src/mc/mc_base.h index 34852e4238..c3a63c1bf1 100644 --- a/src/mc/mc_base.h +++ b/src/mc/mc_base.h @@ -7,18 +7,39 @@ #ifndef MC_BASE_H #define MC_BASE_H +#include #include #include "simgrid_config.h" - +#include "internal_config.h" #include "../simix/smx_private.h" +// Marker for symbols which should be defined as XBT_PRIVATE but are used in +// unit tests: +#define MC_SHOULD_BE_INTERNAL + SG_BEGIN_DECL() +/** Check if the given simcall can be resolved + * + * \return `TRUE` or `FALSE` + */ int MC_request_is_enabled(smx_simcall_t req); + +/** Check if the given simcall is visible + * + * \return `TRUE` or `FALSE` + */ int MC_request_is_visible(smx_simcall_t req); + +/** Execute everything which is invisible + * + * Execute all the processes that are ready to run and all invisible simcalls + * iteratively until there doesn't remain any. At this point, the function + * returns to the caller which can handle the visible (and ready) simcalls. + */ void MC_wait_for_requests(void); -extern double *mc_time; +XBT_INTERNAL extern double *mc_time; SG_END_DECL()