X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fc3419efe4d92bfa202543376995977c6a3171e9..7a9dae46b82d9bb370ceea26566e130fce38c282:/src/smpi/smpi_base.c diff --git a/src/smpi/smpi_base.c b/src/smpi/smpi_base.c index 29b8eb7645..18914fa128 100644 --- a/src/smpi/smpi_base.c +++ b/src/smpi/smpi_base.c @@ -5,7 +5,7 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "private.h" -#include "xbt/time.h" +#include "xbt/virtu.h" #include "mc/mc.h" #include "xbt/replay.h" #include @@ -50,7 +50,7 @@ static MPI_Request build_request(void *buf, int count, s_smpi_subtype_t *subtype = datatype->substruct; if(datatype->has_subtype == 1){ - // This part handles the problem of non-contignous memory + // This part handles the problem of non-contiguous memory old_buf = buf; buf = malloc(count*smpi_datatype_size(datatype)); if (flags & SEND) { @@ -59,7 +59,7 @@ static MPI_Request build_request(void *buf, int count, } request->buf = buf; - // This part handles the problem of non-contignous memory (for the + // This part handles the problem of non-contiguous memory (for the // unserialisation at the reception) request->old_buf = old_buf; request->old_type = datatype; @@ -178,9 +178,10 @@ void smpi_mpi_start(MPI_Request request) if(request->old_type->has_subtype == 0){ oldbuf = request->buf; request->detached = 1; - request->buf = malloc(request->size); - if (oldbuf) + if (oldbuf){ + request->buf = malloc(request->size); memcpy(request->buf,oldbuf,request->size); + } } XBT_DEBUG("Send request %p is detached; buf %p copied into %p",request,oldbuf,request->buf); } @@ -461,10 +462,8 @@ void smpi_mpi_iprobe(int source, int tag, MPI_Comm comm, int* flag, MPI_Status* if(status != MPI_STATUS_IGNORE) { status->MPI_SOURCE = req->src; status->MPI_TAG = req->tag; - if(req->size == request->size) - status->MPI_ERROR = MPI_SUCCESS; - else status->MPI_ERROR = MPI_ERR_TRUNCATE; - status->count = request->size; + status->MPI_ERROR = MPI_SUCCESS; + status->count = req->size; } } else *flag = 0;