>I don't understand your response. ucma.c for example can call >rdma_create_id() and rdma_destroy_id(), correct? What says that when >ucma.c does a rdma_destroy_id() on a nonwildcard listener, a device >removal is not attempting to do the same on the listener? If this is >possible, the code paths I mentioned above can still trigger a double >destruct on a listener, correct?
Device removal only automatically destroys internal listens, and a non-wildcard listen would never generate an internal listen. Internal listens are used to map wildcard listens across multiple RDMA devices. Their creation and destruction is contained to the cma. From the viewpoint of the device removal code, a nonwildcard listen is treated the same as a connected id. The ucma only destroys id's from an event callback if the id is for a new connection which it can't handle. Hope this makes sense. - Sean _______________________________________________ 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
