>1. Should I even be looking at event->status or does the event type tell me > everything I need to know? I've had a report that the assertion > (event->status != 0) is failing on RDMA_CM_EVENT_ROUTE_ERROR.
The event type is usually sufficient. In the case of an error, the status should provide some additional information regarding the type of error. It sounds like (and looks like from reading the code) that you've hit a bug with the ROUTE_ERROR event. The failure status isn't being propagated up to the user. >2. /* handle error out-of-line */ above means I record failure in my connection > data structure, start teardown and drop the callback's reference on it. > When the last reference goes, the connection data structure is queued for > final destruction (including rdma_destroy_id(cmid)). > > Given that this might race with the callback's caller is this OK? Yes - The RDMA CM holds a reference on the cmid while in a callback, and drops it once the callback returns. rdma_destroy_id() will block until all references are released on the cmid. - 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
