[openib-general] RFC on CM error handling
Sean Hefty
sean.hefty at intel.com
Thu Jan 20 20:31:12 PST 2005
> Actually, I was thinking about returning an error from the REP/REQ
>handler, this I believe is suppose to destroy the communication identifier,
>which I presume will generate a REJ? This is at least the behaviour I would
>like to see. In this case, since the communication identifier is destroyed
>there wouldn't be any other state transitions.
Some thoughts about destroying cm_id's based on a callback return value.
Given the current code structure, it's possible for a user to receive
multiple simultaneous callbacks. For example, a user could be notified of a
reply and reject (sent as a result of an rtu timeout) at the same time. The
CM will handle the state transitions properly to fail calls into the API.
But I can see where it would be easy for a user to end up trying to destroy
the cm_id multiple times, or receiving the second callback after they had
already destroyed their context.
I'm not seeing an easy way to handle this condition. I think that I need to
serialize all callbacks for a given cm_id.
- Sean
More information about the general
mailing list