From 7314f4ea0e96d71acbd9f173857daa58e707fccf Mon Sep 17 00:00:00 2001 From: Jan Fecht Date: Fri, 17 Mar 2023 01:36:40 +0100 Subject: [PATCH] Add MPI_SESSION_NULL to fortran Signed-off-by: Jan Fecht --- ompi/include/mpif-values.pl | 1 + ompi/mpi/fortran/mpif-h/session_finalize_f.c | 7 +++++++ ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-types.F90 | 1 + 3 files changed, 9 insertions(+) diff --git a/ompi/include/mpif-values.pl b/ompi/include/mpif-values.pl index da922356e7b..13d599ec982 100755 --- a/ompi/include/mpif-values.pl +++ b/ompi/include/mpif-values.pl @@ -148,6 +148,7 @@ sub read_value_from_file { $handles->{MPI_REQUEST_NULL} = 0; $handles->{MPI_WIN_NULL} = 0; $handles->{MPI_MESSAGE_NULL} = 0; +$handles->{MPI_SESSION_NULL} = 0; $handles->{MPI_BYTE} = 1; $handles->{MPI_PACKED} = 2; diff --git a/ompi/mpi/fortran/mpif-h/session_finalize_f.c b/ompi/mpi/fortran/mpif-h/session_finalize_f.c index 57c26cf9557..4a7d44127e9 100644 --- a/ompi/mpi/fortran/mpif-h/session_finalize_f.c +++ b/ompi/mpi/fortran/mpif-h/session_finalize_f.c @@ -80,4 +80,11 @@ void ompi_session_finalize_f(MPI_Fint *session, MPI_Fint *ierr) c_ierr = PMPI_Session_finalize(&c_session); if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); + + /* This value comes from the MPI_SESSION_NULL value in mpif.h. Do not + change without consulting mpif.h! */ + + if (MPI_SUCCESS == c_ierr) { + *session = 0; + } } diff --git a/ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-types.F90 b/ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-types.F90 index 5d0d7c09427..db0cb3e323c 100644 --- a/ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-types.F90 +++ b/ompi/mpi/fortran/use-mpi-f08/mod/mpi-f08-types.F90 @@ -74,6 +74,7 @@ module mpi_f08_types type(MPI_Request), parameter :: MPI_REQUEST_NULL = MPI_Request(OMPI_MPI_REQUEST_NULL) type(MPI_Win), parameter :: MPI_WIN_NULL = MPI_Win(OMPI_MPI_WIN_NULL) type(MPI_File), parameter :: MPI_FILE_NULL = MPI_File(OMPI_MPI_FILE_NULL) + type(MPI_Session), parameter :: MPI_SESSION_NULL = MPI_Session(OMPI_MPI_SESSION_NULL) ! ! Pre-defined datatype bindings