[openib-general] [CM] calling ib_destroy_cm_id never ends (and sometimes hang the machine)

Sean Hefty sean.hefty at intel.com
Mon Nov 20 09:45:14 PST 2006


>Side A: call ib_cm_listen (which passes)
><sync between the two sides>
>SIDE B: call ib_send_cm_req (which passes)
>SIDE A:get the IB_CM_REQ_RECEIVED event and return a non zero value in
>the CM event handler
>SIDE B:get the IB_CM_REJ_RECEIVED event and return a non zero value in
>the CM event handler
>
>When i try to clean the resources and call ib_destroy_cm_id:

This is a double destruction of the id.  You cannot destroy the same cm_id
twice.  This is working on the passive side (side A), since the cm_id for the
listen, and the one returned with the REQ event are different.  On the active
side (B), the cm_id's are the same.  It is destroyed by returning a non-zero
value in the CM event handler, then it destroyed again by calling
ib_destroy_cm_id.

- Sean




More information about the general mailing list