[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2a1-45-g60cbd3c

Service Account noreply at mpich.org
Sat Oct 4 12:48:27 CDT 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".

The branch, master has been updated
       via  60cbd3c540485392669ad07547ca00ffa00c91c1 (commit)
      from  051449e7b5421b006556ba4e8c6f3300b6efed06 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/60cbd3c540485392669ad07547ca00ffa00c91c1

commit 60cbd3c540485392669ad07547ca00ffa00c91c1
Author: Ken Raffenetti <raffenet at mcs.anl.gov>
Date:   Fri Oct 3 12:18:37 2014 -0500

    portals4: invalidate ME handle before request dequeue
    
    Invalidate the handle of an ME that has been matched and handled in
    the portals4 netmod *before* dequeuing the request. The prevents
    potential double unlinking failures.
    
    Signed-off-by: Antonio J. Pena <apenya at mcs.anl.gov>

diff --git a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_recv.c b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_recv.c
index ea94581..005b678 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_recv.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_recv.c
@@ -16,6 +16,10 @@ static void dequeue_req(const ptl_event_t *e)
     MPID_Request *const rreq = e->user_ptr;
     int s_len, r_len;
 
+    /* At this point we know the ME is unlinked. Invalidate the handle to
+       prevent further accesses, e.g. an attempted cancel. */
+    REQ_PTL(rreq)->me = PTL_INVALID_HANDLE;
+
     found = MPIDI_CH3U_Recvq_DP(rreq);
     MPIU_Assert(found);
 
@@ -23,10 +27,6 @@ static void dequeue_req(const ptl_event_t *e)
     rreq->status.MPI_SOURCE = NPTL_MATCH_GET_RANK(e->match_bits);
     rreq->status.MPI_TAG = NPTL_MATCH_GET_TAG(e->match_bits);
 
-    /* At this point we know the ME is unlinked. Invalidate the handle to
-       prevent further accesses, e.g. an attempted cancel. */
-    REQ_PTL(rreq)->me = PTL_INVALID_HANDLE;
-
     MPID_Datatype_get_size_macro(rreq->dev.datatype, r_len);
     r_len *= rreq->dev.user_count;
 

-----------------------------------------------------------------------

Summary of changes:
 .../channels/nemesis/netmod/portals4/ptl_recv.c    |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list