diff --git a/src/mpi/c/testsome.c b/src/mpi/c/testsome.c index c3f2a285d9..471a5c68ce 100644 --- a/src/mpi/c/testsome.c +++ b/src/mpi/c/testsome.c @@ -24,6 +24,7 @@ int MPI_Testsome(int incount, MPI_Request requests[], MPI_Status statuses[]) { int rc, index, completed; + ompi_status_public_t status; if ( MPI_PARAM_CHECK ) { int rc = MPI_SUCCESS; OMPI_ERR_INIT_FINALIZE(FUNC_NAME); @@ -36,11 +37,12 @@ int MPI_Testsome(int incount, MPI_Request requests[], } /* optimize this in the future */ - rc = ompi_request_test_any(incount, requests, &index, &completed, statuses); + rc = ompi_request_test_any(incount, requests, &index, &completed, &status); OMPI_ERRHANDLER_CHECK(rc, MPI_COMM_WORLD, rc, FUNC_NAME); if(completed) { - *outcount = 1; + *outcount = (index == MPI_UNDEFINED) ? MPI_UNDEFINED : 1; indices[0] = index; + statuses[0] = status; } else { *outcount = 0; }