#endif
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(Api, mc, "Logging specific to MC Facade APIs ");
+XBT_LOG_EXTERNAL_CATEGORY(mc_global);
using Simcall = simgrid::simix::Simcall;
void Api::mc_check_deadlock() const
{
if (mc_model_checker->checkDeadlock()) {
- MC_show_deadlock();
+ XBT_CINFO(mc_global, "**************************");
+ XBT_CINFO(mc_global, "*** DEADLOCK DETECTED ***");
+ XBT_CINFO(mc_global, "**************************");
+ XBT_CINFO(mc_global, "Counter-example execution trace:");
+ for (auto const& s : mc_model_checker->getChecker()->get_textual_trace())
+ XBT_CINFO(mc_global, " %s", s.c_str());
+ simgrid::mc::dumpRecordPath();
+ simgrid::mc::session_singleton->log_state();
throw DeadlockError();
}
}
simgrid::mc::AppSide::get()->main_loop();
}
-void MC_show_deadlock()
-{
- XBT_INFO("**************************");
- XBT_INFO("*** DEADLOCK DETECTED ***");
- XBT_INFO("**************************");
- XBT_INFO("Counter-example execution trace:");
- for (auto const& s : mc_model_checker->getChecker()->get_textual_trace())
- XBT_INFO(" %s", s.c_str());
- simgrid::mc::dumpRecordPath();
- simgrid::mc::session_singleton->log_state();
-}
-
void MC_automaton_load(const char *file)
{
if (simgrid::mc::property_automaton == nullptr)
XBT_PRIVATE extern FILE* dot_output;
-XBT_PRIVATE void MC_show_deadlock();
-
/********************************** Miscellaneous **********************************/
namespace simgrid {
namespace mc {