/* create CM_ID, bind to local device, create QP */
if (rdma_create_id(g_cm_events, &cm_id, (void *)conn, RDMA_PS_TCP)) {
+ dapl_os_lock_destroy(&conn->lock);
dapl_os_free(conn, sizeof(*conn));
return NULL;
}
rdma_destroy_id(conn->cm_id);
}
+ dapl_os_lock_destroy(&conn->lock);
dapl_os_free(conn, sizeof(*conn));
}
/* create CM_ID, bind to local device, create QP */
if (rdma_create_id
(g_cm_events, &conn->cm_id, (void *)conn, RDMA_PS_TCP)) {
+ dapl_os_lock_destroy(&conn->lock);
dapl_os_free(conn, sizeof(*conn));
return (dapl_convert_errno(errno, "setup_listener"));
}
bail:
rdma_destroy_id(conn->cm_id);
+ dapl_os_lock_destroy(&conn->lock);
dapl_os_free(conn, sizeof(*conn));
return dat_status;
}
closesocket(cm_ptr->socket);
}
dapl_os_unlock(&cm_ptr->lock);
+ dapl_os_lock_destroy(&cm_ptr->lock);
dapl_os_free(cm_ptr, sizeof(*cm_ptr));
return;
}
shutdown(cr->socket, SHUT_RDWR);
closesocket(cr->socket);
}
+ dapl_os_lock_destroy(&cr->lock);
dapl_os_free(cr, sizeof(*cr));
continue;
}
/* cleanup, never made it to work queue */
if (cm->state == DCM_INIT) {
dapl_os_unlock(&cm->lock);
+ dapl_os_lock_destroy(&cm->lock);
dapl_os_free(cm, sizeof(*cm));
return;
}
cm->state = DCM_DESTROY;
dapl_os_unlock(&cm->lock);
ucm_dequeue_listen(cm);
+ dapl_os_lock_destroy(&cm->lock);
dapl_os_free(cm, sizeof(*cm));
}
return DAT_SUCCESS;
dapl_llist_remove_entry(&hca->ib_trans.list,
(DAPL_LLIST_ENTRY *)&cm->entry);
dapl_os_unlock(&cm->lock);
+ dapl_os_lock_destroy(&cm->lock);
dapl_os_free(cm, sizeof(*cm));
continue;
}
&hca->ib_trans.list,
(DAPL_LLIST_ENTRY *)&cm->entry);
dapl_os_unlock(&cm->lock);
+ dapl_os_lock_destroy(&cm->lock);
dapl_os_free(cm, sizeof(*cm));
continue;
}