X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0add2d62a20299e99ae277762739f4f512a457db..daed4654ea561b011525bd6d322622eed7ba70c6:/src/smpi/bindings/smpi_pmpi_comm.cpp diff --git a/src/smpi/bindings/smpi_pmpi_comm.cpp b/src/smpi/bindings/smpi_pmpi_comm.cpp index b54e1b493b..0e64a85fe1 100644 --- a/src/smpi/bindings/smpi_pmpi_comm.cpp +++ b/src/smpi/bindings/smpi_pmpi_comm.cpp @@ -278,7 +278,9 @@ int PMPI_Attr_put(MPI_Comm comm, int keyval, void* attr_value) { int PMPI_Errhandler_free(MPI_Errhandler* errhandler){ CHECK_NULL(1, MPI_ERR_ARG, errhandler) + CHECK_MPI_NULL(1, MPI_ERRHANDLER_NULL, MPI_ERR_ARG, *errhandler) simgrid::smpi::Errhandler::unref(*errhandler); + *errhandler = MPI_ERRHANDLER_NULL; return MPI_SUCCESS; } @@ -311,6 +313,18 @@ int PMPI_Comm_call_errhandler(MPI_Comm comm,int errorcode){ return MPI_SUCCESS; } +MPI_Errhandler PMPI_Errhandler_f2c(MPI_Fint errhan){ + if(errhan==-1) + return MPI_ERRHANDLER_NULL; + return simgrid::smpi::Errhandler::f2c(errhan); +} + +MPI_Fint PMPI_Errhandler_c2f(MPI_Errhandler errhan){ + if(errhan==MPI_ERRHANDLER_NULL) + return -1; + return errhan->c2f(); +} + int PMPI_Comm_create_errhandler( MPI_Comm_errhandler_fn *function, MPI_Errhandler *errhandler){ return MPI_Errhandler_create(function, errhandler); }