From: Arnaud Giersch Date: Fri, 4 Oct 2013 13:50:54 +0000 (+0200) Subject: Empty status in any case (plus slight reindent). X-Git-Tag: v3_9_90~40^2~10 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/4a8d08e384ecd75a045c666784aaa90dca92b3d1 Empty status in any case (plus slight reindent). --- diff --git a/src/smpi/smpi_base.c b/src/smpi/smpi_base.c index cb06b33939..6e4f684be4 100644 --- a/src/smpi/smpi_base.c +++ b/src/smpi/smpi_base.c @@ -558,11 +558,10 @@ int smpi_mpi_get_count(MPI_Status * status, MPI_Datatype datatype) static void finish_wait(MPI_Request * request, MPI_Status * status) { MPI_Request req = *request; - if(status != MPI_STATUS_IGNORE) - smpi_empty_status(status); + smpi_empty_status(status); if(!(req->detached && req->flags & SEND) && !(req->flags & PREPARED)){ - if(status != MPI_STATUS_IGNORE) { + if(status != MPI_STATUS_IGNORE) { int src = req->src == MPI_ANY_SOURCE ? req->real_src : req->src; status->MPI_SOURCE = smpi_group_rank(smpi_comm_group(req->comm), src); status->MPI_TAG = req->tag == MPI_ANY_TAG ? req->real_tag : req->tag; @@ -577,8 +576,8 @@ static void finish_wait(MPI_Request * request, MPI_Status * status) MPI_Datatype datatype = req->old_type; if(datatype->has_subtype == 1){ - // This part handles the problem of non-contignous memory - // the unserialization at the reception + // This part handles the problem of non-contignous memory + // the unserialization at the reception s_smpi_subtype_t *subtype = datatype->substruct; if(req->flags & RECV) { subtype->unserialize(req->buf, req->old_buf, req->real_size/smpi_datatype_size(datatype) , datatype->substruct); @@ -591,13 +590,13 @@ static void finish_wait(MPI_Request * request, MPI_Status * status) } #ifdef HAVE_TRACING - if (TRACE_smpi_view_internals()) { - if(req->flags & RECV){ - int rank = smpi_process_index(); - int src_traced = (req->src == MPI_ANY_SOURCE ? req->real_src : req->src); - TRACE_smpi_recv(rank, src_traced, rank); - } + if (TRACE_smpi_view_internals()) { + if(req->flags & RECV){ + int rank = smpi_process_index(); + int src_traced = (req->src == MPI_ANY_SOURCE ? req->real_src : req->src); + TRACE_smpi_recv(rank, src_traced, rank); } + } #endif if(req->detached_sender!=NULL){ diff --git a/src/smpi/smpi_pmpi.c b/src/smpi/smpi_pmpi.c index cddc0206d4..de11ee9416 100644 --- a/src/smpi/smpi_pmpi.c +++ b/src/smpi/smpi_pmpi.c @@ -1468,6 +1468,8 @@ int PMPI_Wait(MPI_Request * request, MPI_Status * status) smpi_bench_end(); + smpi_empty_status(status); + if (request == NULL) { retval = MPI_ERR_ARG; } else if (*request == MPI_REQUEST_NULL) { @@ -1475,32 +1477,32 @@ int PMPI_Wait(MPI_Request * request, MPI_Status * status) } else { #ifdef HAVE_TRACING - int rank = request && (*request)->comm != MPI_COMM_NULL + int rank = request && (*request)->comm != MPI_COMM_NULL ? smpi_process_index() : -1; - TRACE_smpi_computing_out(rank); + TRACE_smpi_computing_out(rank); - int src_traced = (*request)->src; - int dst_traced = (*request)->dst; - MPI_Comm comm = (*request)->comm; - int is_wait_for_receive = (*request)->recv; - TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__,-1); + int src_traced = (*request)->src; + int dst_traced = (*request)->dst; + MPI_Comm comm = (*request)->comm; + int is_wait_for_receive = (*request)->recv; + TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__,-1); #endif smpi_mpi_wait(request, status); retval = MPI_SUCCESS; #ifdef HAVE_TRACING - //the src may not have been known at the beginning of the recv (MPI_ANY_SOURCE) - TRACE_smpi_ptp_out(rank, src_traced, dst_traced, __FUNCTION__); - if (is_wait_for_receive) { - if(src_traced==MPI_ANY_SOURCE) - src_traced = (status!=MPI_STATUS_IGNORE) ? - smpi_group_rank(smpi_comm_group(comm), status->MPI_SOURCE) : - src_traced; - TRACE_smpi_recv(rank, src_traced, dst_traced); - } - TRACE_smpi_computing_in(rank); + //the src may not have been known at the beginning of the recv (MPI_ANY_SOURCE) + TRACE_smpi_ptp_out(rank, src_traced, dst_traced, __FUNCTION__); + if (is_wait_for_receive) { + if(src_traced==MPI_ANY_SOURCE) + src_traced = (status!=MPI_STATUS_IGNORE) ? + smpi_group_rank(smpi_comm_group(comm), status->MPI_SOURCE) : + src_traced; + TRACE_smpi_recv(rank, src_traced, dst_traced); + } + TRACE_smpi_computing_in(rank); #endif }