}
*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;
}
if(ret!=MPI_SUCCESS)
error = 1;
if(flag) {
- indices[i] = 1;
- (*count)++;
+ indices[*count] = i;
if (status != MPI_STATUSES_IGNORE)
- status[i] = *pstat;
+ status[*count] = *pstat;
+ (*count)++;
if ((requests[i] != MPI_REQUEST_NULL) && (requests[i]->flags_ & MPI_REQ_NON_PERSISTENT))
requests[i] = MPI_REQUEST_NULL;
}