[EMAIL PROTECTED] wrote: >> The user, being the IWCM, will always see a CONNECT_REPLY to a >> connect downcall. > > I understand that a CONNECT_REPLY event is generated in > response to calling connect(). But can any events (e.g. > CLOSE) follow that without the user taking any other action? > >>> How are >>> additional events that are generated in this case handled, or is >>> that even possible? I.e. you've notified the user of a new >>> connection request, when >> the >>> connection is aborted. The user hasn't called accept() or reject() >>> yet. >>> >> >> The provider must handle this and _not_ pass any events up until the >> IWCM has accepted or rejected the connection request. In the case of >> an connect request upcall, followed by a connection abortion, >> followed by a accept_cr downcall, the accept_cr downcall would >> return an error like -ECONNRESET. OR the provider could allow the >> accept_cr to succeed, which moves everything to RTS/CONNECTED, then >> generate a CLOSE upcall. Either way is correct methinks. I think >> providers would do the former. > > Okay - this sounds like this case is handled. > > So, I'm trying to determine when a CLOSE event will be > generated, and I _think_ it's in these two cases: > > 1. After calling connect(), and a successful CONNECT_REPLY event. > 2. After calling accept(). > > Then trying to determine if there are any races here with the > user destroying the cm_id at any time. >
More succintly, you cannot be told that a connection is closed until after you have been told that it is established. _______________________________________________ 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