From: degomme Date: Tue, 13 Mar 2018 17:30:10 +0000 (+0100) Subject: even better handling ... X-Git-Tag: v3.19~61 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/aec830b8423c13c5c31e3db71361a449bfacd8ed?ds=inline even better handling ... --- diff --git a/src/smpi/bindings/smpi_pmpi_request.cpp b/src/smpi/bindings/smpi_pmpi_request.cpp index 88a59c8e16..82d2642913 100644 --- a/src/smpi/bindings/smpi_pmpi_request.cpp +++ b/src/smpi/bindings/smpi_pmpi_request.cpp @@ -396,20 +396,17 @@ int PMPI_Sendrecv(void* sendbuf, int sendcount, MPI_Datatype sendtype, int dst, retval = MPI_ERR_COMM; } else if (not sendtype->is_valid() || not recvtype->is_valid()) { retval = MPI_ERR_TYPE; - } else if (src == MPI_PROC_NULL && dst == MPI_PROC_NULL) { - if(status!=MPI_STATUS_IGNORE){ - simgrid::smpi::Status::empty(status); - status->MPI_SOURCE = MPI_PROC_NULL; - } - retval = MPI_SUCCESS; - }else if (src == MPI_PROC_NULL){ + } else if (src == MPI_PROC_NULL) { if(status!=MPI_STATUS_IGNORE){ simgrid::smpi::Status::empty(status); status->MPI_SOURCE = MPI_PROC_NULL; } - return PMPI_Send(sendbuf, sendcount, sendtype, dst, sendtag, comm); + if(dst != MPI_PROC_NULL) + simgrid::smpi::Request::send(sendbuf, sendcount, sendtype, dst, sendtag, comm); + retval = MPI_SUCCESS; }else if (dst == MPI_PROC_NULL){ - return PMPI_Recv(recvbuf, recvcount, recvtype, src, recvtag, comm, status); + simgrid::smpi::Request::recv(recvbuf, recvcount, recvtype, src, recvtag, comm, status); + retval = MPI_SUCCESS; }else if (dst >= comm->group()->size() || dst <0 || (src!=MPI_ANY_SOURCE && (src >= comm->group()->size() || src <0))){ retval = MPI_ERR_RANK;