[mpich2-commits] r7722 - mpich2/trunk/src/mpid/ch3/channels/nemesis/src

buntinas at mcs.anl.gov buntinas at mcs.anl.gov
Thu Jan 13 14:41:46 CST 2011


Author: buntinas
Date: 2011-01-13 14:41:46 -0600 (Thu, 13 Jan 2011)
New Revision: 7722

Modified:
   mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_isend.c
   mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_isendv.c
   mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_istartmsg.c
   mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_istartmsgv.c
Log:
Added checks for failed VCs to shared memory send functions

Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_isend.c
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_isend.c	2011-01-13 20:29:48 UTC (rev 7721)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_isend.c	2011-01-13 20:41:46 UTC (rev 7722)
@@ -24,6 +24,13 @@
 
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3_ISEND);
 
+    if (vc->state == MPIDI_VC_STATE_MORIBUND) {
+        sreq->status.MPI_ERROR = MPI_SUCCESS;
+        MPIU_ERR_SET1(sreq->status.MPI_ERROR, MPI_ERR_OTHER, "**comm_fail", "**comm_fail %d", vc->pg_rank);
+        MPIDI_CH3U_Request_complete(sreq);
+        goto fn_fail;
+    }
+
     if (((MPIDI_CH3I_VC *)vc->channel_private)->iSendContig)
     {
         mpi_errno = ((MPIDI_CH3I_VC *)vc->channel_private)->iSendContig(vc, sreq, hdr, hdr_sz, NULL, 0);

Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_isendv.c
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_isendv.c	2011-01-13 20:29:48 UTC (rev 7721)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_isendv.c	2011-01-13 20:41:46 UTC (rev 7722)
@@ -28,6 +28,13 @@
 
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3_ISENDV);
 
+    if (vc->state == MPIDI_VC_STATE_MORIBUND) {
+        sreq->status.MPI_ERROR = MPI_SUCCESS;
+        MPIU_ERR_SET1(sreq->status.MPI_ERROR, MPI_ERR_OTHER, "**comm_fail", "**comm_fail %d", vc->pg_rank);
+        MPIDI_CH3U_Request_complete(sreq);
+        goto fn_fail;
+    }
+
     if (vc_ch->iSendContig)
     {
         MPIU_Assert(n_iov > 0);

Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_istartmsg.c
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_istartmsg.c	2011-01-13 20:29:48 UTC (rev 7721)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_istartmsg.c	2011-01-13 20:41:46 UTC (rev 7722)
@@ -33,6 +33,8 @@
 
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3_ISTARTMSG);
 
+    MPIU_ERR_CHKANDJUMP1(vc->state == MPIDI_VC_STATE_MORIBUND, mpi_errno, MPI_ERR_OTHER, "**comm_fail", "**comm_fail %d", vc->pg_rank);
+
     if (((MPIDI_CH3I_VC *)vc->channel_private)->iStartContigMsg)
     {
         mpi_errno = ((MPIDI_CH3I_VC *)vc->channel_private)->iStartContigMsg(vc, hdr, hdr_sz, NULL, 0, sreq_ptr);

Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_istartmsgv.c
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_istartmsgv.c	2011-01-13 20:29:48 UTC (rev 7721)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/src/ch3_istartmsgv.c	2011-01-13 20:41:46 UTC (rev 7722)
@@ -41,6 +41,8 @@
 
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3_ISTARTMSGV);
 
+    MPIU_ERR_CHKANDJUMP1(vc->state == MPIDI_VC_STATE_MORIBUND, mpi_errno, MPI_ERR_OTHER, "**comm_fail", "**comm_fail %d", vc->pg_rank);
+
     if (((MPIDI_CH3I_VC *)vc->channel_private)->iStartContigMsg)
     {
         MPIU_Assert (n_iov > 0);



More information about the mpich2-commits mailing list