On 1/8/07, Sean Hefty <[EMAIL PROTECTED]> wrote: > > I just noticed that once i apply the patch, the last + lines (that is > > pthread_mutex_lock, while loop doing pthread_cond_wait and then > > pthread_mutex_unlock) become part of rdma_leave_multicast which seems to > > me strictly buggy as no one is going to wake up this code.
> The leave must wait until all events have been reported on the multicast > group. > There can be more than one event on a group if an error occurs. See > ucma_complete_mc_event() for where the condition is signaled. OK, got you, however printing resp->events_reported after the write call returns shows complete junk most of the times where as you explain here it should be 1 unless some error occurs. Looking on the ucma kernel code under http://www2.openfabrics.org/git/?p=~shefty/rdma-dev.git;a=blob;f=drivers/infiniband/core/ucma.c I think to see the bug: there is no copy_to_user() before ucma_leave_multicast() returns and hence the response structure at rdma_leave_multicast of librdmacm is not set to anything, what do you say? Or. _______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general