Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git] / src / smpi / internals / smpi_replay.cpp
index 77162fa..265b3be 100644 (file)
@@ -3,7 +3,7 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#include "private.h"
+#include "private.hpp"
 #include "smpi_coll.hpp"
 #include "smpi_comm.hpp"
 #include "smpi_datatype.hpp"
@@ -417,7 +417,7 @@ static void action_wait(const char *const *action){
 static void action_waitall(const char *const *action){
   CHECK_ACTION_PARAMS(action, 0, 0)
   double clock = smpi_process()->simulated_elapsed();
-  unsigned int count_requests=get_reqq_self()->size();
+  const unsigned int count_requests = get_reqq_self()->size();
 
   if (count_requests>0) {
     MPI_Status status[count_requests];
@@ -429,18 +429,17 @@ static void action_waitall(const char *const *action){
    TRACE_smpi_ptp_in(rank_traced, __FUNCTION__,extra);
    int recvs_snd[count_requests];
    int recvs_rcv[count_requests];
-   unsigned int i=0;
-   for (auto req : *(get_reqq_self())){
+   for (unsigned int i = 0; i < count_requests; i++) {
+     const auto& req = (*get_reqq_self())[i];
      if (req && (req->flags () & RECV)){
        recvs_snd[i]=req->src();
        recvs_rcv[i]=req->dst();
      }else
        recvs_snd[i]=-100;
-     i++;
    }
    Request::waitall(count_requests, &(*get_reqq_self())[0], status);
 
-   for (i=0; i<count_requests;i++){
+   for (unsigned i = 0; i < count_requests; i++) {
      if (recvs_snd[i]!=-100)
        TRACE_smpi_recv(recvs_snd[i], recvs_rcv[i],0);
    }
@@ -970,7 +969,7 @@ void smpi_replay_main(int* argc, char*** argv)
     MPI_Status status[count_requests];
     unsigned int i=0;
 
-    for (auto req: *get_reqq_self()){
+    for (auto const& req : *get_reqq_self()) {
       requests[i] = req;
       i++;
     }