Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Make Snapshot::to_ignore a std::vector
[simgrid.git] / src / mc / mc_base.h
index 7027a93..c3a63c1 100644 (file)
@@ -7,22 +7,39 @@
 #ifndef MC_BASE_H
 #define MC_BASE_H
 
+#include <xbt/misc.h>
 #include <simgrid/simix.h>
 #include "simgrid_config.h"
 #include "internal_config.h"
 #include "../simix/smx_private.h"
 
-SG_BEGIN_DECL()
+// Marker for symbols which should be defined as XBT_PRIVATE but are used in
+// unit tests:
+#define MC_SHOULD_BE_INTERNAL
 
-// This variable is set by simgrid-mc in order to enable MC support in the
-// children MC processes:
-#define MC_ENV_VARIABLE "SIMGRIC_MC"
+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()