From: Martin Quinson Date: Mon, 12 Aug 2019 10:04:18 +0000 (+0200) Subject: transparent cleanups around simcalls mechanism X-Git-Tag: v3.24~195 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/1c75860aa49dbde3f251678a7d00a2e27660efa8 transparent cleanups around simcalls mechanism --- diff --git a/src/kernel/activity/CommImpl.cpp b/src/kernel/activity/CommImpl.cpp index 3a3982d2dc..28c30e9282 100644 --- a/src/kernel/activity/CommImpl.cpp +++ b/src/kernel/activity/CommImpl.cpp @@ -307,9 +307,9 @@ void simcall_HANDLER_comm_waitany(smx_simcall_t simcall, simgrid::kernel::activi } if (timeout < 0.0) { - simcall->timer = NULL; + simcall->timeout_cb = NULL; } else { - simcall->timer = simgrid::simix::Timer::set(SIMIX_get_clock() + timeout, [simcall]() { + simcall->timeout_cb = simgrid::simix::Timer::set(SIMIX_get_clock() + timeout, [simcall]() { SIMIX_waitany_remove_simcall_from_actions(simcall); simcall_comm_waitany__set__result(simcall, -1); simcall->issuer->simcall_answer(); @@ -584,9 +584,9 @@ void CommImpl::finish() continue; // if process handling comm is killed if (simcall->call == SIMCALL_COMM_WAITANY) { SIMIX_waitany_remove_simcall_from_actions(simcall); - if (simcall->timer) { - simcall->timer->remove(); - simcall->timer = nullptr; + if (simcall->timeout_cb) { + simcall->timeout_cb->remove(); + simcall->timeout_cb = nullptr; } if (not MC_is_active() && not MC_record_replay_is_active()) { CommImpl** comms = simcall_comm_waitany__get__comms(simcall); diff --git a/src/kernel/activity/ExecImpl.cpp b/src/kernel/activity/ExecImpl.cpp index 2558315644..cfdf73e8e1 100644 --- a/src/kernel/activity/ExecImpl.cpp +++ b/src/kernel/activity/ExecImpl.cpp @@ -52,9 +52,9 @@ void simcall_HANDLER_execution_waitany_for(smx_simcall_t simcall, simgrid::kerne size_t count, double timeout) { if (timeout < 0.0) { - simcall->timer = nullptr; + simcall->timeout_cb = nullptr; } else { - simcall->timer = simgrid::simix::Timer::set(SIMIX_get_clock() + timeout, [simcall, execs, count]() { + simcall->timeout_cb = simgrid::simix::Timer::set(SIMIX_get_clock() + timeout, [simcall, execs, count]() { for (size_t i = 0; i < count; i++) { // Remove the first occurence of simcall: auto* exec = execs[i]; @@ -232,9 +232,9 @@ void ExecImpl::finish() if (j != exec->simcalls_.end()) exec->simcalls_.erase(j); - if (simcall->timer) { - simcall->timer->remove(); - simcall->timer = nullptr; + if (simcall->timeout_cb) { + simcall->timeout_cb->remove(); + simcall->timeout_cb = nullptr; } } diff --git a/src/simix/popping_private.hpp b/src/simix/popping_private.hpp index 476c871468..83f7e2d84b 100644 --- a/src/simix/popping_private.hpp +++ b/src/simix/popping_private.hpp @@ -45,7 +45,7 @@ union u_smx_scalar { struct s_smx_simcall { e_smx_simcall_t call; smx_actor_t issuer; - smx_timer_t timer; + smx_timer_t timeout_cb; // Callback to timeouts int mc_value; u_smx_scalar args[11]; u_smx_scalar result; @@ -176,20 +176,20 @@ template inline typename std::remove_reference::type unmarshal_raw( return unmarshal(type(), simcall); } -template inline void marshalArgs(smx_simcall_t simcall) +template inline void marshal_args(smx_simcall_t simcall) { /* Nothing to do when no args */ } -template inline void marshalArgs(smx_simcall_t simcall, A const& a) +template inline void marshal_args(smx_simcall_t simcall, A const& a) { marshal(simcall->args[I], a); } -template inline void marshalArgs(smx_simcall_t simcall, A const& a, B const&... b) +template inline void marshal_args(smx_simcall_t simcall, A const& a, B const&... b) { marshal(simcall->args[I], a); - marshalArgs(simcall, b...); + marshal_args(simcall, b...); } /** Initialize the simcall */ @@ -198,7 +198,7 @@ template inline void marshal(smx_simcall_t simcall, e_smx_simcall_t simcall->call = call; memset(&simcall->result, 0, sizeof(simcall->result)); memset(simcall->args, 0, sizeof(simcall->args)); - marshalArgs<0>(simcall, a...); + marshal_args<0>(simcall, a...); } } }