X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b8df87e176f27b25534f27d7e240defa32ca35bc..21fe278c8460849931b37ccde22e944edec46f71:/src/smpi/bindings/smpi_f77_request.cpp diff --git a/src/smpi/bindings/smpi_f77_request.cpp b/src/smpi/bindings/smpi_f77_request.cpp index ec705b2196..7e128bc0a1 100644 --- a/src/smpi/bindings/smpi_f77_request.cpp +++ b/src/smpi/bindings/smpi_f77_request.cpp @@ -215,6 +215,7 @@ void mpi_waitsome_ (int* incount, int* requests, int *outcount, int *indices, MP simgrid::smpi::Request::free_f(requests[indices[i]]); requests[indices[i]]=MPI_FORTRAN_REQUEST_NULL; } + indices[i]++; } xbt_free(reqs); } @@ -275,10 +276,11 @@ void mpi_testsome_ (int* incount, int* requests, int* outcount, int* indices, M } *ierr = MPI_Testsome(*incount, reqs, outcount, indices, FORT_STATUSES_IGNORE(statuses)); for(i=0;i<*incount;i++){ - if(indices[i] && reqs[indices[i]]==MPI_REQUEST_NULL){ + if(reqs[indices[i]]==MPI_REQUEST_NULL){ simgrid::smpi::Request::free_f(requests[indices[i]]); requests[indices[i]]=MPI_FORTRAN_REQUEST_NULL; } + indices[i]++; } xbt_free(reqs); }