> > @@ -542,7 +545,11 @@ static void leave_handler(int status, st
> > {
> >      struct mcast_group *group = context;
> >
> > -    mcast_work_handler(&group->work);
> > +    if (status && (group->retries > 0)) {
> > +            send_leave(group, group->leave_state);

I didn't catch this in my earlier response, but we should call 
mcast_work_handler() if send_leave() fails to make sure that we reset the group 
state back to idle and process any queued joins.

The rest of the changes look okay to me.

- Sean

(Sorry if this breaks threading.)
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to