[openib-general] [RFC] [PATCH 2/7] ib_multicast 2.6.20: add ib_multicast module to track join requests from the same port
Sean Hefty
sean.hefty at intel.com
Thu Oct 12 11:21:03 PDT 2006
>But unlike the sa races which were unfixable without API changes,
>here users can synchronize the removal of the mc object.
>So I think what you describe is a user error.
The user can ensure that an id is only destroyed once. What they cannot ensure
is whether their callback is still running.
>For example SDP does
>lock
>cm_id = ssk->cm_id
>ssk->cm_id = NULL
>unlock
>
>if (cm_id)
>destroy(cm_id)
If cm_id is NULL, there's no way to know if the callback is still running.
>and in callback
>
>ssk = context
>lock
>if (!ssk->cm_id) {
> unlock
> return 0;
>}
I'm assuming that the rest of the code looks something like:
ssk->cm_id = NULL;
unlock;
return 1;
- Sean
More information about the general
mailing list