James, This small patch fixes another issue with scale-out MPI testing. Please review this patch since you understand the history around NO_EP_STATE better then me. Apparently there is some NO_EP_STATE hack in the common code that is provided to protect against race conditions but I not clear on its usage model. This unknown state is causing the dat_ep_disconnect() to incorrectly fail with invalid state instead of processing in the proper DAT_EP_STATE_COMPLETION_PENDING state.
Thanks,
-arlin
Signed-off by: Arlin Davis <[EMAIL PROTECTED]>
Index: dapl/dapl/common/dapl_cr_callback.c
===================================================================
--- dapl/dapl/common/dapl_cr_callback.c (revision 5642)
+++ dapl/dapl/common/dapl_cr_callback.c (working copy)
@@ -532,18 +532,10 @@ dapli_get_sp_ep (
{
/* Remove the CR from the queue */
dapl_sp_remove_cr (sp_ptr, cr_ptr);
- /*
- * Last event, time to clean up and dispose of the resource.
- * Put the EP in a state that it can't get hurt, avoiding
- * race conditions between now and when it gets disconnected,
- * i.e. an app invoking ep_disconnect before the callback
- * code above finishes.
- */
-#define NO_EP_STATE 111 /* larger than any ep state */
+
if (ep_ptr != NULL)
{
ep_ptr->cr_ptr = NULL;
- ep_ptr->param.ep_state = NO_EP_STATE;
}
/*
udapl_dconn.patch
Description: udapl_dconn.patch
_______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
