Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Set MPI_Request to MPI_REQUEST_NULL whenever a call fails
authorAugustin Degomme <degomme@idpann.imag.fr>
Thu, 18 Jul 2013 13:16:16 +0000 (15:16 +0200)
committerAugustin Degomme <degomme@idpann.imag.fr>
Thu, 18 Jul 2013 13:16:16 +0000 (15:16 +0200)
src/smpi/smpi_pmpi.c

index 345e128..a572266 100644 (file)
@@ -925,6 +925,7 @@ int PMPI_Send_init(void *buf, int count, MPI_Datatype datatype, int dst,
     retval = MPI_SUCCESS;
   }
   smpi_bench_begin();
     retval = MPI_SUCCESS;
   }
   smpi_bench_begin();
+  if(retval!=MPI_SUCCESS)*request=MPI_REQUEST_NULL;
   return retval;
 }
 
   return retval;
 }
 
@@ -945,6 +946,7 @@ int PMPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int src,
     retval = MPI_SUCCESS;
   }
   smpi_bench_begin();
     retval = MPI_SUCCESS;
   }
   smpi_bench_begin();
+  if(retval!=MPI_SUCCESS)*request=MPI_REQUEST_NULL;
   return retval;
 }
 
   return retval;
 }
 
@@ -963,6 +965,7 @@ int PMPI_Ssend_init(void* buf, int count, MPI_Datatype datatype, int dst, int ta
       retval = MPI_SUCCESS;
     }
     smpi_bench_begin();
       retval = MPI_SUCCESS;
     }
     smpi_bench_begin();
+    if(retval!=MPI_SUCCESS)*request=MPI_REQUEST_NULL;
     return retval;
 }
 
     return retval;
 }
 
@@ -1054,6 +1057,7 @@ int PMPI_Irecv(void *buf, int count, MPI_Datatype datatype, int src,
   }
 
   smpi_bench_begin();
   }
 
   smpi_bench_begin();
+  if(retval!=MPI_SUCCESS)*request=MPI_REQUEST_NULL;
   return retval;
 }
 
   return retval;
 }
 
@@ -1102,6 +1106,7 @@ int PMPI_Isend(void *buf, int count, MPI_Datatype datatype, int dst,
   }
 
   smpi_bench_begin();
   }
 
   smpi_bench_begin();
+  if(retval!=MPI_SUCCESS)*request=MPI_REQUEST_NULL;
   return retval;
 }
 
   return retval;
 }
 
@@ -1147,6 +1152,7 @@ int PMPI_Issend(void* buf, int count, MPI_Datatype datatype, int dst, int tag, M
   }
 
   smpi_bench_begin();
   }
 
   smpi_bench_begin();
+  if(retval!=MPI_SUCCESS)*request=MPI_REQUEST_NULL;
   return retval;
 }
 
   return retval;
 }