X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e05a1337ff6756490bf19378bcaf875b002b9b82..19cd5a52131b50275fa26e0e53c4a8bd333f2937:/src/surf/network_ib.cpp diff --git a/src/surf/network_ib.cpp b/src/surf/network_ib.cpp index eea85e82a4..7d7c3249a9 100644 --- a/src/surf/network_ib.cpp +++ b/src/surf/network_ib.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2015. The SimGrid Team. +/* Copyright (c) 2014-2017. The SimGrid Team. *All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -52,16 +52,18 @@ static void IB_action_init_callback(simgrid::surf::NetworkAction* action, simgri simgrid::surf::IBNode* act_src; simgrid::surf::IBNode* act_dst; - try { - act_src = ibModel->active_nodes.at(src->getName()); - } catch (std::out_of_range& unfound) { - throw std::out_of_range(std::string("Could not find '") + src->getName() + "' active comms !"); + auto asrc = ibModel->active_nodes.find(src->getName()); + if (asrc != ibModel->active_nodes.end()) { + act_src = asrc->second; + } else { + throw std::out_of_range(std::string("Could not find '") + src->getCname() + "' active comms !"); } - try { - act_dst = ibModel->active_nodes.at(dst->getName()); - } catch (std::out_of_range& unfound) { - throw std::out_of_range(std::string("Could not find '") + dst->getName() + "' active comms !"); + auto adst = ibModel->active_nodes.find(dst->getName()); + if (adst != ibModel->active_nodes.end()) { + act_dst = adst->second; + } else { + throw std::out_of_range(std::string("Could not find '") + dst->getCname() + "' active comms !"); } ibModel->active_comms[action]=std::make_pair(act_src, act_dst); @@ -102,7 +104,6 @@ namespace surf { NetworkIBModel::NetworkIBModel() : NetworkSmpiModel() { - haveGap_ = false; const char* IB_factors_string = xbt_cfg_get_string("smpi/IB-penalty-factors"); std::vector radical_elements; boost::split(radical_elements, IB_factors_string, boost::is_any_of(";")); @@ -131,7 +132,7 @@ NetworkIBModel::NetworkIBModel() : NetworkSmpiModel() NetworkIBModel::~NetworkIBModel() { - for (auto instance : active_nodes) + for (auto const& instance : active_nodes) delete instance.second; }