Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
convert between Fortran and C MPI_*_NULL handles
[simgrid.git] / src / smpi / bindings / smpi_pmpi_comm.cpp
index dc4d87a..73e4379 100644 (file)
@@ -113,9 +113,7 @@ int PMPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm * newcomm)
   } else if (newcomm == nullptr) {
     return MPI_ERR_ARG;
   } else {
-    comm->dup(newcomm);
-    if(info!=MPI_INFO_NULL)
-      (*newcomm)->set_info(info);
+    comm->dup_with_info(info, newcomm);
     return MPI_SUCCESS;
   }
 }
@@ -219,10 +217,14 @@ int PMPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int, MPI_Comm* comm_o
 }
 
 MPI_Comm PMPI_Comm_f2c(MPI_Fint comm){
+  if(comm==-1)
+    return MPI_COMM_NULL;
   return static_cast<MPI_Comm>(simgrid::smpi::Comm::f2c(comm));
 }
 
 MPI_Fint PMPI_Comm_c2f(MPI_Comm comm){
+  if(comm==MPI_COMM_NULL)
+    return -1;
   return comm->c2f();
 }