Skip to content

Commit 461a7c5

Browse files
authored
Merge pull request #10744 from hppritcha/additional_fixes_for_10592
sessions: improve error return code
2 parents a63bdc6 + 35e5493 commit 461a7c5

File tree

4 files changed

+23
-7
lines changed

4 files changed

+23
-7
lines changed

ompi/mpi/c/session_call_errhandler.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,12 @@ int MPI_Session_call_errhandler(MPI_Session session, int errorcode)
4545

4646
if (MPI_PARAM_CHECK) {
4747
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
48-
if (NULL == session) {
49-
return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_ARG, FUNC_NAME);
48+
if (ompi_instance_invalid(session)) {
49+
if (NULL != session) {
50+
return OMPI_ERRHANDLER_INVOKE(session, MPI_ERR_SESSION, FUNC_NAME);
51+
} else {
52+
return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_SESSION, FUNC_NAME);
53+
}
5054
}
5155
}
5256

ompi/mpi/c/session_get_errhandler.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,11 @@ int MPI_Session_get_errhandler(MPI_Session session, MPI_Errhandler *errhandler)
5151
if (MPI_PARAM_CHECK) {
5252
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
5353
if (ompi_instance_invalid(session)) {
54+
if (NULL != session) {
55+
return OMPI_ERRHANDLER_INVOKE(session, MPI_ERR_SESSION, FUNC_NAME);
56+
} else {
5457
return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_SESSION, FUNC_NAME);
58+
}
5559
}
5660
}
5761

ompi/mpi/c/session_get_info.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,12 @@ int MPI_Session_get_info (MPI_Session session, MPI_Info *info_used)
3737
{
3838
if (MPI_PARAM_CHECK) {
3939
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
40-
if (NULL == session || MPI_SESSION_NULL == session) {
41-
return MPI_ERR_ARG;
40+
if (ompi_instance_invalid(session)) {
41+
if (NULL != session) {
42+
return OMPI_ERRHANDLER_INVOKE(session, MPI_ERR_SESSION, FUNC_NAME);
43+
} else {
44+
return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_SESSION, FUNC_NAME);
45+
}
4246
}
4347
if (NULL == info_used) {
4448
return OMPI_ERRHANDLER_INVOKE (session, MPI_ERR_INFO, FUNC_NAME);

ompi/mpi/c/session_set_info.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,14 @@ int MPI_Session_set_info (MPI_Session session, MPI_Info info)
3737
{
3838
if (MPI_PARAM_CHECK) {
3939
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
40-
if (NULL == session || MPI_SESSION_NULL == session) {
41-
return MPI_ERR_ARG;
42-
}
40+
if (ompi_instance_invalid(session)) {
41+
if (NULL != session) {
42+
return OMPI_ERRHANDLER_INVOKE(session, MPI_ERR_SESSION, FUNC_NAME);
43+
} else {
44+
return OMPI_ERRHANDLER_NOHANDLE_INVOKE(MPI_ERR_SESSION, FUNC_NAME);
45+
}
4346

47+
}
4448
if (NULL == info || MPI_INFO_NULL == info || ompi_info_is_freed(info)) {
4549
return OMPI_ERRHANDLER_INVOKE (session, MPI_ERR_INFO, FUNC_NAME);
4650
}

0 commit comments

Comments
 (0)