This source file includes following definitions.
- MPI_Comm_free
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include "ompi_config.h"
21 #include <stdio.h>
22
23 #include "ompi/mpi/c/bindings.h"
24 #include "ompi/runtime/params.h"
25 #include "ompi/communicator/communicator.h"
26 #include "ompi/errhandler/errhandler.h"
27 #include "ompi/memchecker.h"
28
29 #if OMPI_BUILD_MPI_PROFILING
30 #if OPAL_HAVE_WEAK_SYMBOLS
31 #pragma weak MPI_Comm_free = PMPI_Comm_free
32 #endif
33 #define MPI_Comm_free PMPI_Comm_free
34 #endif
35
36 static const char FUNC_NAME[] = "MPI_Comm_free";
37
38
39 int MPI_Comm_free(MPI_Comm *comm)
40 {
41 int ret;
42
43 MEMCHECKER(
44 memchecker_comm(*comm);
45 );
46
47 if ( MPI_PARAM_CHECK ) {
48 OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
49
50 if ( NULL == *comm || MPI_COMM_WORLD == *comm ||
51 ompi_comm_invalid (*comm)) {
52 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_COMM,
53 FUNC_NAME);
54 } else if (MPI_COMM_SELF == *comm) {
55 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_SELF, MPI_ERR_COMM,
56 FUNC_NAME);
57 }
58 }
59
60 OPAL_CR_ENTER_LIBRARY();
61
62 ret = ompi_comm_free ( comm );
63 OMPI_ERRHANDLER_CHECK(ret, *comm, ret, FUNC_NAME);
64
65 OPAL_CR_EXIT_LIBRARY();
66 return MPI_SUCCESS;
67 }