void sock_conn_map_destroy(struct sock_ep_attr *ep_attr) { int i; struct sock_conn_map *cmap = &ep_attr->cmap; for (i = 0; i < cmap->used; i++) { sock_epoll_del(&cmap->epoll_set, cmap->table[i].sock_fd); sock_pe_poll_del(ep_attr->domain->pe, cmap->table[i].sock_fd); ofi_close_socket(cmap->table[i].sock_fd); } free(cmap->table); cmap->table = NULL; cmap->used = cmap->size = 0; sock_epoll_close(&cmap->epoll_set); fastlock_destroy(&cmap->lock); }
void sock_conn_map_destroy(struct sock_ep_attr *ep_attr) { int i; struct sock_conn_map *cmap = &ep_attr->cmap; for (i = 0; i < cmap->used; i++) { if (cmap->table[i].sock_fd != -1) { sock_pe_poll_del(ep_attr->domain->pe, cmap->table[i].sock_fd); sock_conn_release_entry(cmap, &cmap->table[i]); } } free(cmap->table); cmap->table = NULL; cmap->used = cmap->size = 0; fi_epoll_close(cmap->epoll_set); fastlock_destroy(&cmap->lock); }