From: Arnaud Giersch Date: Tue, 24 Apr 2018 11:51:38 +0000 (+0200) Subject: Don't loose first result for 'failed'. X-Git-Tag: v3.20~325^2~5 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/06ab77d63738bad5936f6fdf778452b20bc7c3bd Don't loose first result for 'failed'. --- diff --git a/src/surf/network_cm02.cpp b/src/surf/network_cm02.cpp index 45140ed5b4..34d8881a4d 100644 --- a/src/surf/network_cm02.cpp +++ b/src/surf/network_cm02.cpp @@ -242,7 +242,6 @@ void NetworkCm02Model::update_actions_state_full(double now, double delta) Action* NetworkCm02Model::communicate(s4u::Host* src, s4u::Host* dst, double size, double rate) { - bool failed = false; double latency = 0.0; std::vector back_route; std::vector route; @@ -254,11 +253,12 @@ Action* NetworkCm02Model::communicate(s4u::Host* src, s4u::Host* dst, double siz "You're trying to send data from %s to %s but there is no connecting path between these two hosts.", src->get_cname(), dst->get_cname()); - failed = std::any_of(route.begin(), route.end(), [](LinkImpl* link) { return link->is_off(); }); + bool failed = std::any_of(route.begin(), route.end(), [](LinkImpl* link) { return link->is_off(); }); if (cfg_crosstraffic) { dst->routeTo(src, back_route, nullptr); - failed = std::any_of(back_route.begin(), back_route.end(), [](LinkImpl* const& link) { return link->is_off(); }); + if (not failed) + failed = std::any_of(back_route.begin(), back_route.end(), [](LinkImpl* const& link) { return link->is_off(); }); } NetworkCm02Action *action = new NetworkCm02Action(this, size, failed);