X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f89671e0bd7450461d70d5ced6079123e73c2a63..c6bbeb1829c36ff45b43ab25f9d8d3f53f554d98:/src/mc/ModelChecker.cpp diff --git a/src/mc/ModelChecker.cpp b/src/mc/ModelChecker.cpp index eb12028b75..f5ef3b49cb 100644 --- a/src/mc/ModelChecker.cpp +++ b/src/mc/ModelChecker.cpp @@ -32,17 +32,10 @@ using simgrid::mc::remote; namespace simgrid { namespace mc { -ModelChecker::ModelChecker(std::unique_ptr process) - : base_(nullptr) - , socket_event_(nullptr) - , signal_event_(nullptr) - , page_store_(500) - , process_(std::move(process)) -{ - -} +ModelChecker::ModelChecker(std::unique_ptr process) : process_(std::move(process)) {} -ModelChecker::~ModelChecker() { +ModelChecker::~ModelChecker() +{ if (socket_event_ != nullptr) event_free(socket_event_); if (signal_event_ != nullptr) @@ -116,7 +109,7 @@ void ModelChecker::shutdown() { XBT_DEBUG("Shuting down model-checker"); - simgrid::mc::RemoteClient* process = &this->process(); + RemoteClient* process = &this->process(); if (process->running()) { XBT_DEBUG("Killing process"); kill(process->pid(), SIGKILL); @@ -124,11 +117,11 @@ void ModelChecker::shutdown() } } -void ModelChecker::resume(simgrid::mc::RemoteClient& process) +void ModelChecker::resume(RemoteClient& process) { int res = process.get_channel().send(MC_MESSAGE_CONTINUE); if (res) - throw simgrid::xbt::errno_error(); + throw xbt::errno_error(); process.clear_cache(); } @@ -146,8 +139,8 @@ static void MC_report_crash(int status) 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->log_state(); + dumpRecordPath(); + session->log_state(); if (xbt_log_no_loc) { XBT_INFO("Stack trace not displayed because you passed --log=no_loc"); } else { @@ -164,8 +157,8 @@ static void MC_report_assertion_error() 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->log_state(); + dumpRecordPath(); + session->log_state(); } bool ModelChecker::handle_message(char* buffer, ssize_t size) @@ -175,7 +168,6 @@ bool ModelChecker::handle_message(char* buffer, ssize_t size) memcpy(&base_message, buffer, sizeof(base_message)); switch(base_message.type) { - case MC_MESSAGE_IGNORE_HEAP: { s_mc_message_ignore_heap_t message; @@ -226,13 +218,12 @@ bool ModelChecker::handle_message(char* buffer, ssize_t size) xbt_assert(not message.callback, "Support for client-side function proposition is not implemented."); XBT_DEBUG("Received symbol: %s", message.name); - if (simgrid::mc::property_automaton == nullptr) - simgrid::mc::property_automaton = xbt_automaton_new(); + if (property_automaton == nullptr) + property_automaton = xbt_automaton_new(); - simgrid::mc::RemoteClient* process = &this->process(); - simgrid::mc::RemotePtr address = simgrid::mc::remote((int*)message.data); - simgrid::xbt::add_proposition(simgrid::mc::property_automaton, message.name, - [process, address]() { return process->read(address); }); + RemoteClient* process = &this->process(); + RemotePtr address = remote((int*)message.data); + xbt::add_proposition(property_automaton, message.name, [process, address]() { return process->read(address); }); break; } @@ -246,7 +237,6 @@ bool ModelChecker::handle_message(char* buffer, ssize_t size) default: xbt_die("Unexpected message from model-checked application"); - } return true; } @@ -303,7 +293,6 @@ void ModelChecker::handle_waitpid() } if (pid == this->process().pid()) { - // From PTRACE_O_TRACEEXIT: #ifdef __linux__ if (status>>8 == (SIGTRAP | (PTRACE_EVENT_EXIT<<8))) { @@ -379,5 +368,5 @@ bool ModelChecker::checkDeadlock() return message.value != 0; } -} -} +} // namespace mc +} // namespace simgrid