void ompi_request_free_f(MPI_Fint *request, MPI_Fint *ierr) { int c_ierr; MPI_Request c_req = PMPI_Request_f2c( *request ); c_ierr = PMPI_Request_free(&c_req); if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); if (MPI_SUCCESS == c_ierr) { *request = OMPI_INT_2_FINT(MPI_REQUEST_NULL->req_f_to_c_index); } }
int MPI_Request_free(MPI_Request *request) { int returnVal; /* The request may have completed, may have not. */ /* We'll assume it didn't. */ rq_remove( requests_head_1, requests_tail_1, requests_avail_1, *request ); returnVal = PMPI_Request_free( 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_Request_free(MPI_Request * request) { return PMPI_Request_free(request); }