[mpich2-commits] r7968 - mpich2/trunk/src/mpid/ch3/src

buntinas at mcs.anl.gov buntinas at mcs.anl.gov
Tue Feb 15 14:07:41 CST 2011


Author: buntinas
Date: 2011-02-15 14:07:41 -0600 (Tue, 15 Feb 2011)
New Revision: 7968

Modified:
   mpich2/trunk/src/mpid/ch3/src/ch3u_handle_connection.c
Log:
added pmi2 support for failure notification

Modified: mpich2/trunk/src/mpid/ch3/src/ch3u_handle_connection.c
===================================================================
--- mpich2/trunk/src/mpid/ch3/src/ch3u_handle_connection.c	2011-02-15 16:34:05 UTC (rev 7967)
+++ mpich2/trunk/src/mpid/ch3/src/ch3u_handle_connection.c	2011-02-15 20:07:41 UTC (rev 7968)
@@ -5,7 +5,11 @@
  */
 
 #include "mpidimpl.h"
+#ifdef USE_PMI2_API
+#include "pmi2.h"
+#else
 #include "pmi.h"
+#endif
 
 /* Count the number of outstanding close requests */
 static volatile int MPIDI_Outstanding_close_ops = 0;
@@ -420,13 +424,21 @@
     MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3U_CHECK_FOR_FAILED_PROCS);
     mpi_errno = MPIDI_PG_GetConnKVSname(&kvsname);
     if (mpi_errno) MPIU_ERR_POP(mpi_errno);
+#ifdef USE_PMI2_API
+    {
+        int vallen = 0;
+        MPIU_CHKLMEM_MALLOC(val, char *, PMI2_MAX_VALLEN, mpi_errno, "val");
+        pmi_errno = PMI2_KVS_Get(kvsname, PMI2_ID_NULL, "PMI_dead_processes", val, PMI2_MAX_VALLEN, &vallen);
+        MPIU_ERR_CHKANDJUMP(pmi_errno, mpi_errno, MPI_ERR_OTHER, "**pmi_kvs_get");
+    }
+#else
     pmi_errno = PMI_KVS_Get_value_length_max(&len);
     MPIU_ERR_CHKANDJUMP(pmi_errno, mpi_errno, MPI_ERR_OTHER, "**pmi_kvs_get_value_length_max");
-    if (mpi_errno) MPIU_ERR_POP(mpi_errno);
     MPIU_CHKLMEM_MALLOC(val, char *, len, mpi_errno, "val");
     pmi_errno = PMI_KVS_Get(kvsname, "PMI_dead_processes", val, len);
     MPIU_ERR_CHKANDJUMP(pmi_errno, mpi_errno, MPI_ERR_OTHER, "**pmi_kvs_get");
-
+#endif
+    
     MPIU_DBG_MSG_S(CH3_DISCONNECT, TYPICAL, "Received proc fail notification: %s", val);
     
     if (*val == '\0') {



More information about the mpich2-commits mailing list