James Lentini wrote:
/* ... here */if (cm_id) { if (cm_id->qp) rdma_destroy_qp(cm_id); rdma_destroy_id(cm_id); } dapl_os_free(conn, sizeof(*conn)); } Destroying the cm_id while in a callback would be bad.
rdma_destroy_id() will block if a callback is in progress. The issue is making sure that this routine is not called from the callback thread.
There shouldn't be any issue calling rdma_destroy_qp() regardless of if we're in a callback or not though. So, the fix may be to always call rdma_destroy_qp() somewhere in this call path.
- Sean _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
