X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8ec46a459ce8b740aeca5a121fe9e84a25cabf99..a402afede198ab60401461fd737a13f9393313f8:/src/mc/api.cpp diff --git a/src/mc/api.cpp b/src/mc/api.cpp index be6c716625..0a45d978a8 100644 --- a/src/mc/api.cpp +++ b/src/mc/api.cpp @@ -425,27 +425,18 @@ bool Api::mc_state_choose_request(simgrid::mc::State* state) const return false; } -std::string Api::request_to_string(smx_simcall_t req, int value) const +std::string Api::request_to_string(aid_t aid, int value) const { xbt_assert(mc_model_checker != nullptr, "Must be called from MCer"); - smx_actor_t issuer = simcall_get_issuer(req); - - if (issuer->simcall_.observer_ != nullptr) - return mc_model_checker->simcall_to_string(issuer->get_pid(), value); - else - return "[" + get_actor_string(issuer) + "] " + SIMIX_simcall_name(*req) + "(unknown?)"; + return mc_model_checker->simcall_to_string(aid, value); } -std::string Api::request_get_dot_output(smx_simcall_t req, int value) const +std::string Api::request_get_dot_output(aid_t aid, int value) const { - if (req->observer_ != nullptr) { - const smx_actor_t issuer = simcall_get_issuer(req); - const char* color = get_color(issuer->get_pid() - 1); - return "label = \"" + mc_model_checker->simcall_dot_label(issuer->get_pid(), value) + "\", color = " + color + - ", fontcolor = " + color; - } else - return "UNIMPLEMENTED"; + const char* color = get_color(aid - 1); + return "label = \"" + mc_model_checker->simcall_dot_label(aid, value) + "\", color = " + color + + ", fontcolor = " + color; } #if HAVE_SMPI @@ -488,10 +479,10 @@ void Api::s_close() const session_singleton->close(); } -RemotePtr Api::execute(Transition& transition, smx_simcall_t simcall) const +RemotePtr Api::execute(Transition& transition) const { /* FIXME: once all simcalls have observers, kill the simcall parameter and use mc_model_checker->simcall_to_string() */ - transition.textual = request_to_string(simcall, transition.times_considered_); + transition.textual = request_to_string(transition.aid_, transition.times_considered_); return session_singleton->execute(transition); }