diff --git a/ompi/mpi/c/improbe.c b/ompi/mpi/c/improbe.c index 3b08592f18..3c58b64734 100644 --- a/ompi/mpi/c/improbe.c +++ b/ompi/mpi/c/improbe.c @@ -64,6 +64,7 @@ int MPI_Improbe(int source, int tag, MPI_Comm comm, int *flag, ); *message = &ompi_message_no_proc.message; } + *flag = 1; return MPI_SUCCESS; } diff --git a/ompi/mpi/c/imrecv.c b/ompi/mpi/c/imrecv.c index 449704a3dc..c81688a8da 100644 --- a/ompi/mpi/c/imrecv.c +++ b/ompi/mpi/c/imrecv.c @@ -59,6 +59,7 @@ int MPI_Imrecv(void *buf, int count, MPI_Datatype type, if (&ompi_message_no_proc.message == *message) { *request = &ompi_request_empty; + *message = MPI_MESSAGE_NULL; return MPI_SUCCESS; } diff --git a/ompi/mpi/c/mrecv.c b/ompi/mpi/c/mrecv.c index 73b16366ad..b2e96dc76c 100644 --- a/ompi/mpi/c/mrecv.c +++ b/ompi/mpi/c/mrecv.c @@ -59,6 +59,7 @@ int MPI_Mrecv(void *buf, int count, MPI_Datatype type, if (&ompi_message_no_proc.message == *message) { *status = ompi_request_empty.req_status; + *message = MPI_MESSAGE_NULL; return MPI_SUCCESS; }