]> AND Public Git Repository - simgrid.git/blobdiff - src/kernel/routing/TorusZone.cpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove an indirection and fix memory leak.
[simgrid.git] / src / kernel / routing / TorusZone.cpp
index b3b83dfac42ae21818eea7ae8ea541d3e5f41a8e..074d473922e4f1518ec5b3f62170c7685605acb7 100644 (file)
@@ -64,8 +64,8 @@ void TorusZone::create_links_for_node(ClusterCreationArgs* cluster, int id, int
       linkDown = linkUp;
     }
     /*
-     * Add the link to its appropriate position;
-     * note that position rankId*(xbt_dynar_length(dimensions)+has_loopback?+has_limiter?)
+     * Add the link to its appropriate position.
+     * Note that position rankId*(xbt_dynar_length(dimensions)+has_loopback?+has_limiter?)
      * holds the link "rankId->rankId"
      */
     privateLinks_.insert({position + j, {linkUp, linkDown}});
@@ -179,7 +179,7 @@ void TorusZone::getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cbarg
     std::pair<surf::LinkImpl*, surf::LinkImpl*> info;
 
     if (hasLimiter_) { // limiter for sender
-      info = privateLinks_.at(nodeOffset + hasLoopback_);
+      info = privateLinks_.at(nodeOffset + (hasLoopback_ ? 1 : 0));
       route->link_list->push_back(info.first);
     }