This source file includes following definitions.
- MPI_Add_error_string
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include "ompi_config.h"
22 #include <stdio.h>
23 #include <string.h>
24
25 #include "ompi/mpi/c/bindings.h"
26 #include "ompi/runtime/params.h"
27 #include "ompi/communicator/communicator.h"
28 #include "ompi/errhandler/errhandler.h"
29 #include "ompi/errhandler/errcode.h"
30
31 #if OMPI_BUILD_MPI_PROFILING
32 #if OPAL_HAVE_WEAK_SYMBOLS
33 #pragma weak MPI_Add_error_string = PMPI_Add_error_string
34 #endif
35 #define MPI_Add_error_string PMPI_Add_error_string
36 #endif
37
38 static const char FUNC_NAME[] = "MPI_Add_error_string";
39
40
41 int MPI_Add_error_string(int errorcode, const char *string)
42 {
43 int rc;
44
45 OPAL_CR_NOOP_PROGRESS();
46
47 if ( MPI_PARAM_CHECK ) {
48 OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
49
50 if ( ompi_mpi_errcode_is_invalid(errorcode) )
51 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
52 FUNC_NAME);
53
54 if ( ompi_mpi_errcode_is_predefined(errorcode) )
55 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
56 FUNC_NAME);
57
58 if ( MPI_MAX_ERROR_STRING < (strlen(string)+1) )
59 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
60 FUNC_NAME);
61 }
62
63 rc = ompi_mpi_errnum_add_string (errorcode, string, (int)(strlen(string)+1));
64 if ( OMPI_SUCCESS != rc ) {
65 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_INTERN,
66 FUNC_NAME);
67 }
68
69 return MPI_SUCCESS;
70 }