[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1.3-33-g786b3e9

Service Account noreply at mpich.org
Tue Oct 21 10:23:13 CDT 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".

The branch, master has been updated
       via  786b3e98a54107e844d43cfc4b27f71baacba47e (commit)
      from  aad52bcc7414ecf80a8242b5177d0b33f3067b5e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/786b3e98a54107e844d43cfc4b27f71baacba47e

commit 786b3e98a54107e844d43cfc4b27f71baacba47e
Author: Wesley Bland <wbland at anl.gov>
Date:   Mon Oct 20 14:13:44 2014 -0500

    Copy tag checking proceedure to all MPIC funcs
    
    The previous commit only adjusted the tag checking proceedure for MPIC_Recv,
    but it should be the same for MPIC_Sendrecv and MPIC_Sendrecv_replace.
    
    Signed-off-by: Huiwei Lu <huiweilu at mcs.anl.gov>

diff --git a/src/mpi/coll/helper_fns.c b/src/mpi/coll/helper_fns.c
index 869d193..a8ab107 100644
--- a/src/mpi/coll/helper_fns.c
+++ b/src/mpi/coll/helper_fns.c
@@ -326,19 +326,17 @@ int MPIC_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag,
     if (mpi_errno) MPIU_ERR_POP(mpi_errno);
     if (request_ptr) {
         mpi_errno = MPIC_Wait(request_ptr);
-        if (mpi_errno == MPI_SUCCESS) {
-            *status = request_ptr->status;
-        } else {
+        if (mpi_errno != MPI_SUCCESS)
             MPIU_ERR_POP(mpi_errno);
-        }
+
+        *status = request_ptr->status;
+        mpi_errno = status->MPI_ERROR;
         MPID_Request_release(request_ptr);
     }
 
     if (source != MPI_PROC_NULL) {
-        int ec;
-        MPI_Error_class(status->MPI_ERROR, &ec);
-        if (MPIX_ERR_REVOKED != MPIR_ERR_GET_CLASS(status->MPI_ERROR) &&
-            MPIX_ERR_PROC_FAILED != MPIR_ERR_GET_CLASS(status->MPI_ERROR) &&
+        if (MPIX_ERR_REVOKED == MPIR_ERR_GET_CLASS(status->MPI_ERROR) ||
+            MPIX_ERR_PROC_FAILED == MPIR_ERR_GET_CLASS(status->MPI_ERROR) ||
             MPIR_TAG_CHECK_ERROR_BIT(status->MPI_TAG)) {
             *errflag = TRUE;
             MPIR_TAG_CLEAR_ERROR_BIT(status->MPI_TAG);
@@ -455,10 +453,12 @@ int MPIC_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
     MPID_Request_release(recv_req_ptr);
 
     if (source != MPI_PROC_NULL) {
-        if (MPIR_TAG_CHECK_ERROR_BIT(status->MPI_TAG)) {
+        if (MPIX_ERR_REVOKED == MPIR_ERR_GET_CLASS(status->MPI_ERROR) ||
+            MPIX_ERR_PROC_FAILED == MPIR_ERR_GET_CLASS(status->MPI_ERROR) ||
+            MPIR_TAG_CHECK_ERROR_BIT(status->MPI_TAG)) {
             *errflag = TRUE;
             MPIR_TAG_CLEAR_ERROR_BIT(status->MPI_TAG);
-        } else if (MPIX_ERR_REVOKED != MPIR_ERR_GET_CLASS(status->MPI_ERROR)) {
+        } else if (MPI_SUCCESS == MPIR_ERR_GET_CLASS(status->MPI_ERROR)) {
             MPIU_Assert(status->MPI_TAG == recvtag);
         }
     }
@@ -567,12 +567,14 @@ int MPIC_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype,
     MPID_Request_release(rreq);
 
     if (mpi_errno) MPIU_ERR_POP(mpi_errno);
-    
+
     if (source != MPI_PROC_NULL) {
-        if (MPIR_TAG_CHECK_ERROR_BIT(status->MPI_TAG)) {
+        if (MPIX_ERR_REVOKED == MPIR_ERR_GET_CLASS(status->MPI_ERROR) ||
+            MPIX_ERR_PROC_FAILED == MPIR_ERR_GET_CLASS(status->MPI_ERROR) ||
+            MPIR_TAG_CHECK_ERROR_BIT(status->MPI_TAG)) {
             *errflag = TRUE;
             MPIR_TAG_CLEAR_ERROR_BIT(status->MPI_TAG);
-        } else if (MPIX_ERR_REVOKED != MPIR_ERR_GET_CLASS(status->MPI_ERROR)) {
+        } else if (MPI_SUCCESS == MPIR_ERR_GET_CLASS(status->MPI_ERROR)) {
             MPIU_Assert(status->MPI_TAG == recvtag);
         }
     }

-----------------------------------------------------------------------

Summary of changes:
 src/mpi/coll/helper_fns.c |   28 +++++++++++++++-------------
 1 files changed, 15 insertions(+), 13 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list