[mpich] MPICH primary repository branch, master, updated. v3.2a1-45-g60cbd3c
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/60cbd3c540485392669ad07547ca00ffa0... commit 60cbd3c540485392669ad07547ca00ffa00c91c1 Author: Ken Raffenetti <[email protected]> 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 <[email protected]> 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
participants (1)
-
noreply@mpich.org