int MPI_Cancel(MPI_Request *request) { int returnVal; request_list *rq; rq_find( requests_head_1, *request, rq ); if (rq) rq->status |= RQ_CANCEL; /* be sure to check on the Test or Wait if it was really cancelled */ returnVal = PMPI_Cancel( request ); return returnVal; }
void memheap_oob_destruct(void) { int i; oob_comm_request_t *r; opal_progress_unregister(oshmem_mkey_recv_cb); for (i = 0; i < MEMHEAP_RECV_REQS_MAX; i++) { r = &memheap_oob.req_pool[i]; PMPI_Cancel(&r->recv_req); PMPI_Request_free(&r->recv_req); } OBJ_DESTRUCT(&memheap_oob.req_list); OBJ_DESTRUCT(&memheap_oob.lck); OBJ_DESTRUCT(&memheap_oob.cond); }
void memheap_oob_destruct(void) { int i; oob_comm_request_t *r; opal_progress_unregister(oshmem_mkey_recv_cb); for (i = 0; i < MEMHEAP_RECV_REQS_MAX; i++) { r = &memheap_oob.req_pool[i]; PMPI_Cancel(&r->recv_req); PMPI_Request_free(&r->recv_req); } /*clear these list object as they don't belong here */ while (NULL != opal_list_remove_first(&memheap_oob.req_list)) { continue; } OBJ_DESTRUCT(&memheap_oob.req_list); OBJ_DESTRUCT(&memheap_oob.lck); OBJ_DESTRUCT(&memheap_oob.cond); }
int MPI_Cancel(MPI_Request* request) { return PMPI_Cancel(request); }