AMPI errorCheck: take an optional 2nd buffer, to ease checking collectives
authorPhil Miller <mille121@illinois.edu>
Wed, 14 Mar 2012 23:25:09 +0000 (18:25 -0500)
committerPhil Miller <mille121@illinois.edu>
Thu, 15 Mar 2012 03:04:17 +0000 (22:04 -0500)
src/libs/ck-libs/ampi/ampi.C

index c631bbe7bddf98e7c250ad4e0dc8d49226c0e993..b01cd70492a2dd6427d359ba53d23c4459a12431 100644 (file)
@@ -67,8 +67,9 @@ inline int checkRank(int rank, MPI_Comm comm) {
   }
 
 inline int errorCheck(MPI_Comm comm, int ifComm, int count, int ifCount,
-    MPI_Datatype data, int ifData, int tag, int ifTag,
-    int rank, int ifRank, void *buf, int ifBuf) {
+                      MPI_Datatype data, int ifData, int tag, int ifTag,
+                      int rank, int ifRank,
+                      void *buf1, int ifBuf1, void *buf2 = 0, int ifBuf2 = 0) {
   int ret;
   if(ifComm) { 
     ret = checkCommunicator(comm);
@@ -95,8 +96,13 @@ inline int errorCheck(MPI_Comm comm, int ifComm, int count, int ifCount,
     if(ret != MPI_SUCCESS)
       return ret;
   }
-  if(ifBuf) {
-    ret = checkBuf(buf,count);
+  if(ifBuf1) {
+    ret = checkBuf(buf1,count);
+    if(ret != MPI_SUCCESS)
+      return ret;
+  }
+  if(ifBuf2) {
+    ret = checkBuf(buf2,count);
     if(ret != MPI_SUCCESS)
       return ret;
   }