1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
/*
* Copyright (c) 2004-2006 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2012 Sandia National Laboratories. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "ompi/request/request.h"
#include "ompi/mca/pml/base/pml_base_request.h"
#include "pml_cm.h"
#include "pml_cm_sendreq.h"
#include "pml_cm_recvreq.h"
int
mca_pml_cm_cancel(struct ompi_request_t *ompi_req, int flag)
{
int ret;
mca_pml_cm_request_t *base_request =
(mca_pml_cm_request_t*) ompi_req;
mca_mtl_request_t *mtl_req = NULL;
switch (base_request->req_pml_type) {
case MCA_PML_CM_REQUEST_SEND_HEAVY:
{
mca_pml_cm_hvy_send_request_t *request =
(mca_pml_cm_hvy_send_request_t*) base_request;
mtl_req = &request->req_mtl;
}
break;
case MCA_PML_CM_REQUEST_SEND_THIN:
{
mca_pml_cm_thin_send_request_t *request =
(mca_pml_cm_thin_send_request_t*) base_request;
mtl_req = &request->req_mtl;
}
break;
case MCA_PML_CM_REQUEST_RECV_HEAVY:
{
mca_pml_cm_hvy_recv_request_t *request =
(mca_pml_cm_hvy_recv_request_t*) base_request;
mtl_req = &request->req_mtl;
}
break;
case MCA_PML_CM_REQUEST_RECV_THIN:
{
mca_pml_cm_thin_recv_request_t *request =
(mca_pml_cm_thin_recv_request_t*) base_request;
mtl_req = &request->req_mtl;
}
break;
default:
ret = OMPI_ERROR;
}
ret = OMPI_MTL_CALL(cancel(ompi_mtl,
mtl_req,
flag));
return ret;
}
|