#include "src/mc/mc_safety.hpp"
#endif
+#include <climits>
+
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_config, mc, "Configuration of the Model Checker");
#if SIMGRID_HAVE_MC
_mc_cfg_cb_check("value to enable/disable the detection of send-determinism in the communications schemes");
}};
+static simgrid::config::Flag<std::string> _sg_mc_buffering{
+ "smpi/buffering", "Buffering semantic to use for MPI (only used in MC)", "zero", [](const std::string& value) {
+ try {
+ if (value == "zero")
+ simgrid::config::set_value<int>("smpi/send-is-detached-thresh", 0);
+ else if (value == "infty")
+ simgrid::config::set_value<int>("smpi/send-is-detached-thresh", INT_MAX);
+ else
+ xbt_die("configuration option 'smpi/buffering' can only take 'zero' or 'infty' as a value");
+ } catch (std::out_of_range& e) {
+ /* If the 'smpi/send-is-detached-thresh' does not exist, we are in the MCer process, where this option makes no
+ * sense, so just ignore it */
+ }
+ }};
+
static simgrid::config::Flag<std::string> _sg_mc_reduce{
"model-check/reduction", "Specify the kind of exploration reduction (either none or DPOR)", "dpor",
[](const std::string& value) {