2011-07-26 08:36:21 +04:00
|
|
|
/*
|
|
|
|
* Copyright (C) Mellanox Technologies Ltd. 2001-2011. ALL RIGHTS RESERVED.
|
|
|
|
* $COPYRIGHT$
|
|
|
|
*
|
|
|
|
* Additional copyrights may follow
|
|
|
|
*
|
|
|
|
* $HEADER$
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "ompi_config.h"
|
|
|
|
#include "mtl_mxm.h"
|
|
|
|
#include "mtl_mxm_request.h"
|
|
|
|
|
|
|
|
int ompi_mtl_mxm_cancel(struct mca_mtl_base_module_t* mtl,
|
|
|
|
struct mca_mtl_request_t *mtl_request, int flag)
|
|
|
|
{
|
|
|
|
mca_mtl_mxm_request_t *mtl_mxm_request = (mca_mtl_mxm_request_t*) mtl_request;
|
2012-04-09 20:02:05 +04:00
|
|
|
mxm_error_t err;
|
2011-07-26 08:36:21 +04:00
|
|
|
|
2013-02-04 10:59:24 +04:00
|
|
|
#if MXM_API >= MXM_VERSION(2,0)
|
|
|
|
if (mtl_mxm_request->is_send) {
|
|
|
|
err = mxm_req_cancel_send(&mtl_mxm_request->mxm.send);
|
|
|
|
} else {
|
|
|
|
err = mxm_req_cancel_recv(&mtl_mxm_request->mxm.recv);
|
|
|
|
}
|
|
|
|
#else
|
2011-08-07 16:06:49 +04:00
|
|
|
err = mxm_req_cancel(&mtl_mxm_request->mxm.base);
|
2013-02-04 10:59:24 +04:00
|
|
|
#endif
|
2012-04-09 20:02:05 +04:00
|
|
|
if ((err != MXM_OK) && (err != MXM_ERR_NO_PROGRESS)) {
|
|
|
|
return OMPI_ERROR;
|
2011-07-26 08:36:21 +04:00
|
|
|
}
|
|
|
|
|
2012-04-09 20:02:05 +04:00
|
|
|
return OMPI_SUCCESS;
|
2011-07-26 08:36:21 +04:00
|
|
|
}
|