diff --git a/src/mpi/c/add_error_class.c b/src/mpi/c/add_error_class.c index a05b42077a..23c2c3b92f 100644 --- a/src/mpi/c/add_error_class.c +++ b/src/mpi/c/add_error_class.c @@ -23,9 +23,7 @@ int MPI_Add_error_class(int *errorclass) int class; if ( MPI_PARAM_CHECK ) { - if ( ompi_mpi_finalized ) - return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN, - "MPI_Add_error_class"); + OMPI_ERR_INIT_FINALIZE; } class = ompi_errclass_add(); diff --git a/src/mpi/c/add_error_code.c b/src/mpi/c/add_error_code.c index feb46fb6d3..9bf4d18d69 100644 --- a/src/mpi/c/add_error_code.c +++ b/src/mpi/c/add_error_code.c @@ -24,9 +24,8 @@ int MPI_Add_error_code(int errorclass, int *errorcode) int code; if ( MPI_PARAM_CHECK ) { - if ( ompi_mpi_finalized) - return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN, - "MPI_Add_error_code"); + OMPI_ERR_INIT_FINALIZE; + if ( ompi_errclass_is_invalid(errorclass) ) return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG, "MPI_Add_error_code"); diff --git a/src/mpi/c/add_error_string.c b/src/mpi/c/add_error_string.c index e0e607d9d3..60d1589a13 100644 --- a/src/mpi/c/add_error_string.c +++ b/src/mpi/c/add_error_string.c @@ -24,9 +24,8 @@ int MPI_Add_error_string(int errorcode, char *string) int rc; if ( MPI_PARAM_CHECK ) { - if ( ompi_mpi_finalized) - return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN, - "MPI_Add_error_string"); + OMPI_ERR_INIT_FINALIZE; + if ( ompi_mpi_errcode_is_invalid(errorcode) ) return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG, "MPI_Add_error_string"); diff --git a/src/mpi/c/error_class.c b/src/mpi/c/error_class.c index d44bf5e4e4..a9e477f5e5 100644 --- a/src/mpi/c/error_class.c +++ b/src/mpi/c/error_class.c @@ -22,9 +22,8 @@ int MPI_Error_class(int errorcode, int *errorclass) { if ( MPI_PARAM_CHECK ) { - if ( ompi_mpi_finalized ) - return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN, - "MPI_Error_class"); + OMPI_ERR_INIT_FINALIZE; + if ( ompi_mpi_errcode_is_invalid(errorcode)) return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG, "MPI_Error_class"); diff --git a/src/mpi/c/error_string.c b/src/mpi/c/error_string.c index 3251b95a77..a205c2f041 100644 --- a/src/mpi/c/error_string.c +++ b/src/mpi/c/error_string.c @@ -23,9 +23,8 @@ int MPI_Error_string(int errorcode, char *string, int *resultlen) char *tmpstring; if ( MPI_PARAM_CHECK ) { - if ( ompi_mpi_finalized ) - return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN, - "MPI_Error_string"); + OMPI_ERR_INIT_FINALIZE; + if ( ompi_mpi_errcode_is_invalid(errorcode)) return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG, "MPI_Error_string");