Пример #1
0
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;
}
Пример #2
0
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);
}
Пример #3
0
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);
}
Пример #4
0
int MPI_Cancel(MPI_Request* request) {
  return PMPI_Cancel(request);
}