This source file includes following definitions.
- request_cancel
- request_free
- request_construct
1
2
3
4
5
6
7
8
9
10
11 #include "ompi_config.h"
12
13 #include "ompi/request/request.h"
14
15 #include "coll_portals4.h"
16 #include "coll_portals4_request.h"
17
18 static int
19 request_cancel(struct ompi_request_t *request, int complete)
20 {
21 return MPI_ERR_REQUEST;
22 }
23
24 static int
25 request_free(struct ompi_request_t **ompi_req)
26 {
27 ompi_coll_portals4_request_t *request =
28 (ompi_coll_portals4_request_t*) *ompi_req;
29
30 if (true != request->super.req_complete) {
31 return MPI_ERR_REQUEST;
32 }
33
34 OMPI_COLL_PORTALS4_REQUEST_RETURN(request);
35
36 *ompi_req = MPI_REQUEST_NULL;
37
38 return OMPI_SUCCESS;
39 }
40
41 static
42 void
43 request_construct(ompi_coll_portals4_request_t *request)
44 {
45 request->super.req_type = OMPI_REQUEST_COLL;
46 request->super.req_status._cancelled = 0;
47 request->super.req_free = request_free;
48 request->super.req_cancel = request_cancel;
49 }
50
51 OBJ_CLASS_INSTANCE(ompi_coll_portals4_request_t,
52 ompi_request_t,
53 request_construct,
54 NULL);