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 1e171ff6062d69d8d32a49373b60d4a8793bcee2 (commit) from 6b5993af5cd4aadd6648c024a6b815749c35f8a6 (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/1e171ff6062d69d8d32a49373b60d4a879... commit 1e171ff6062d69d8d32a49373b60d4a8793bcee2 Author: Wesley Bland <[email protected]> Date: Wed May 21 11:32:41 2014 -0500 Make handling of request cleanup more uniform There are quite a few places where the request cleanup is done via: MPIU_Object_set_ref(req, 0); MPIDI_CH3_Request_destroy(req); when it should be: MPID_Request_release(req); This makes the handling more uniform so requests are cleaned up by releasing references rather than hitting them with the destroy hammer. Fixes #1664 Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c index 544a900..59bcd3e 100644 --- a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c +++ b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c @@ -449,8 +449,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void * return mpi_errno; fn_fail: if (sreq) { - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); sreq = NULL; } MPIU_CHKPMEM_REAP(); diff --git a/src/mpid/ch3/channels/nemesis/netmod/scif/scif_send.c b/src/mpid/ch3/channels/nemesis/netmod/scif/scif_send.c index a9b1886..1c0d345 100644 --- a/src/mpid/ch3/channels/nemesis/netmod/scif/scif_send.c +++ b/src/mpid/ch3/channels/nemesis/netmod/scif/scif_send.c @@ -457,8 +457,7 @@ int MPID_nem_scif_SendNoncontig(MPIDI_VC_t * vc, MPID_Request * sreq, void *head MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_SCIF_SENDNONCONTIG); return mpi_errno; fn_fail: - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); goto fn_exit; } diff --git a/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_send.c b/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_send.c index 8031092..d250ef6 100644 --- a/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_send.c +++ b/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_send.c @@ -805,8 +805,7 @@ fn_exit: MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_SENDNONCONTIG); return mpi_errno; fn_fail: - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); goto fn_exit; } diff --git a/src/mpid/ch3/channels/nemesis/netmod/wintcp/wintcp_send.c b/src/mpid/ch3/channels/nemesis/netmod/wintcp/wintcp_send.c index 9166117..1cc7c18 100644 --- a/src/mpid/ch3/channels/nemesis/netmod/wintcp/wintcp_send.c +++ b/src/mpid/ch3/channels/nemesis/netmod/wintcp/wintcp_send.c @@ -616,7 +616,6 @@ int MPID_nem_newtcp_SendNoncontig(MPIDI_VC_t *vc, MPID_Request *sreq, void *head fn_exit: return mpi_errno; fn_fail: - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); goto fn_exit; } diff --git a/src/mpid/ch3/src/ch3u_eager.c b/src/mpid/ch3/src/ch3u_eager.c index 3d185f8..bbcd179 100644 --- a/src/mpid/ch3/src/ch3u_eager.c +++ b/src/mpid/ch3/src/ch3u_eager.c @@ -47,8 +47,7 @@ int MPIDI_CH3_SendNoncontig_iov( MPIDI_VC_t *vc, MPID_Request *sreq, /* --BEGIN ERROR HANDLING-- */ if (mpi_errno != MPI_SUCCESS) { - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|eagermsg"); } /* --END ERROR HANDLING-- */ @@ -59,8 +58,7 @@ int MPIDI_CH3_SendNoncontig_iov( MPIDI_VC_t *vc, MPID_Request *sreq, else { /* --BEGIN ERROR HANDLING-- */ - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|loadsendiov"); /* --END ERROR HANDLING-- */ } @@ -552,8 +550,7 @@ int MPIDI_CH3_EagerContigIsend( MPID_Request **sreq_p, /* --BEGIN ERROR HANDLING-- */ if (mpi_errno != MPI_SUCCESS) { - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); *sreq_p = NULL; MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|eagermsg"); } diff --git a/src/mpid/ch3/src/ch3u_eagersync.c b/src/mpid/ch3/src/ch3u_eagersync.c index 109a3cf..a85dc22 100644 --- a/src/mpid/ch3/src/ch3u_eagersync.c +++ b/src/mpid/ch3/src/ch3u_eagersync.c @@ -79,8 +79,7 @@ int MPIDI_CH3_EagerSyncNoncontigSend( MPID_Request **sreq_p, /* --BEGIN ERROR HANDLING-- */ if (mpi_errno != MPI_SUCCESS) { - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); *sreq_p = NULL; MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|eagermsg"); } @@ -151,8 +150,7 @@ int MPIDI_CH3_EagerSyncZero(MPID_Request **sreq_p, int rank, int tag, /* --BEGIN ERROR HANDLING-- */ if (mpi_errno != MPI_SUCCESS) { - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); *sreq_p = NULL; MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|eagermsg"); } diff --git a/src/mpid/ch3/src/ch3u_handle_recv_req.c b/src/mpid/ch3/src/ch3u_handle_recv_req.c index e67dfe1..4d07c94 100644 --- a/src/mpid/ch3/src/ch3u_handle_recv_req.c +++ b/src/mpid/ch3/src/ch3u_handle_recv_req.c @@ -380,8 +380,7 @@ int MPIDI_CH3_ReqHandler_GetRespDerivedDTComplete( MPIDI_VC_t *vc, /* --BEGIN ERROR HANDLING-- */ if (mpi_errno != MPI_SUCCESS) { - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); sreq = NULL; MPIU_ERR_SETANDJUMP(mpi_errno,MPI_ERR_OTHER,"**ch3|rmamsg"); } @@ -581,8 +580,7 @@ int MPIDI_CH3_ReqHandler_FOPComplete( MPIDI_VC_t *vc, /* --BEGIN ERROR HANDLING-- */ fn_fail: if (resp_req != NULL) { - MPIU_Object_set_ref(resp_req, 0); - MPIDI_CH3_Request_destroy(resp_req); + MPID_Request_release(resp_req); } goto fn_exit; /* --END ERROR HANDLING-- */ @@ -1209,8 +1207,7 @@ static int do_simple_get(MPID_Win *win_ptr, MPIDI_Win_lock_queue *lock_queue) /* --BEGIN ERROR HANDLING-- */ if (mpi_errno != MPI_SUCCESS) { - MPIU_Object_set_ref(req, 0); - MPIDI_CH3_Request_destroy(req); + MPID_Request_release(req); MPIU_ERR_SETANDJUMP(mpi_errno,MPI_ERR_OTHER,"**ch3|rmamsg"); } /* --END ERROR HANDLING-- */ diff --git a/src/mpid/ch3/src/ch3u_rma_sync.c b/src/mpid/ch3/src/ch3u_rma_sync.c index f3c9759..5a5b942 100644 --- a/src/mpid/ch3/src/ch3u_rma_sync.c +++ b/src/mpid/ch3/src/ch3u_rma_sync.c @@ -1498,16 +1498,14 @@ static int MPIDI_CH3I_Send_rma_msg(MPIDI_RMA_Op_t *rma_op, MPID_Win *win_ptr, /* --BEGIN ERROR HANDLING-- */ fn_fail: if (resp_req) { - MPIU_Object_set_ref(resp_req, 0); - MPIDI_CH3_Request_destroy(resp_req); + MPID_Request_release(resp_req); } if (*request) { MPIU_CHKPMEM_REAP(); if ((*request)->dev.datatype_ptr) MPID_Datatype_release((*request)->dev.datatype_ptr); - MPIU_Object_set_ref(*request, 0); - MPIDI_CH3_Request_destroy(*request); + MPID_Request_release(*request); } *request = NULL; goto fn_exit; @@ -1621,8 +1619,7 @@ static int MPIDI_CH3I_Send_contig_acc_msg(MPIDI_RMA_Op_t *rma_op, fn_fail: if (*request) { - MPIU_Object_set_ref(*request, 0); - MPIDI_CH3_Request_destroy(*request); + MPID_Request_release(*request); } *request = NULL; goto fn_exit; @@ -1772,13 +1769,11 @@ fn_exit: /* --BEGIN ERROR HANDLING-- */ fn_fail: if (*request) { - MPIU_Object_set_ref(*request, 0); - MPIDI_CH3_Request_destroy(*request); + MPID_Request_release(*request); } *request = NULL; if (rmw_req) { - MPIU_Object_set_ref(rmw_req, 0); - MPIDI_CH3_Request_destroy(rmw_req); + MPID_Request_release(rmw_req); } goto fn_exit; /* --END ERROR HANDLING-- */ @@ -3787,8 +3782,7 @@ static int MPIDI_CH3I_Send_lock_put_or_acc(MPID_Win *win_ptr, int target_rank) if (mpi_errno) { MPID_Datatype_release(request->dev.datatype_ptr); - MPIU_Object_set_ref(request, 0); - MPIDI_CH3_Request_destroy(request); + MPID_Request_release(request); MPIU_ERR_SETANDJUMP(mpi_errno,MPI_ERR_OTHER,"**ch3|loadsendiov"); } /* --END ERROR HANDLING-- */ diff --git a/src/mpid/ch3/src/ch3u_rndv.c b/src/mpid/ch3/src/ch3u_rndv.c index 080cc90..4ab7478 100644 --- a/src/mpid/ch3/src/ch3u_rndv.c +++ b/src/mpid/ch3/src/ch3u_rndv.c @@ -56,8 +56,7 @@ int MPIDI_CH3_RndvSend( MPID_Request **sreq_p, const void * buf, int count, /* --BEGIN ERROR HANDLING-- */ if (mpi_errno != MPI_SUCCESS) { - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); *sreq_p = NULL; MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|rtspkt"); } @@ -66,8 +65,7 @@ int MPIDI_CH3_RndvSend( MPID_Request **sreq_p, const void * buf, int count, { if (rts_sreq->status.MPI_ERROR != MPI_SUCCESS) { - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); *sreq_p = NULL; mpi_errno = rts_sreq->status.MPI_ERROR; MPID_Request_release(rts_sreq); diff --git a/src/mpid/ch3/src/mpid_cancel_send.c b/src/mpid/ch3/src/mpid_cancel_send.c index df0c57b..9610793 100644 --- a/src/mpid/ch3/src/mpid_cancel_send.c +++ b/src/mpid/ch3/src/mpid_cancel_send.c @@ -67,8 +67,7 @@ int MPID_Cancel_send(MPID_Request * sreq) "send-to-self cancellation successful, sreq=0x%08x, rreq=0x%08x", sreq->handle, rreq->handle)); - MPIU_Object_set_ref(rreq, 0); - MPIDI_CH3_Request_destroy(rreq); + MPID_Request_release(rreq); MPIR_STATUS_SET_CANCEL_BIT(sreq->status, TRUE); /* no other thread should be waiting on sreq, so it is safe to diff --git a/src/mpid/ch3/src/mpid_irsend.c b/src/mpid/ch3/src/mpid_irsend.c index 4db48ec..5477ea0 100644 --- a/src/mpid/ch3/src/mpid_irsend.c +++ b/src/mpid/ch3/src/mpid_irsend.c @@ -90,8 +90,7 @@ int MPID_Irsend(const void * buf, int count, MPI_Datatype datatype, int rank, in /* --BEGIN ERROR HANDLING-- */ if (mpi_errno != MPI_SUCCESS) { - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); sreq = NULL; MPIU_ERR_SET(mpi_errno, MPI_ERR_OTHER, "**ch3|eagermsg"); goto fn_exit; diff --git a/src/mpid/ch3/src/mpid_isend.c b/src/mpid/ch3/src/mpid_isend.c index 2aaadeb..f110316 100644 --- a/src/mpid/ch3/src/mpid_isend.c +++ b/src/mpid/ch3/src/mpid_isend.c @@ -109,8 +109,7 @@ int MPID_Isend(const void * buf, int count, MPI_Datatype datatype, int rank, /* --BEGIN ERROR HANDLING-- */ if (mpi_errno != MPI_SUCCESS) { - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); sreq = NULL; MPIU_ERR_SET(mpi_errno, MPI_ERR_OTHER, "**ch3|eagermsg"); goto fn_exit; diff --git a/src/mpid/ch3/src/mpidi_isend_self.c b/src/mpid/ch3/src/mpidi_isend_self.c index 4d3ff12..3d71199 100644 --- a/src/mpid/ch3/src/mpidi_isend_self.c +++ b/src/mpid/ch3/src/mpidi_isend_self.c @@ -45,8 +45,7 @@ int MPIDI_Isend_self(const void * buf, int count, MPI_Datatype datatype, int ran /* --BEGIN ERROR HANDLING-- */ if (rreq == NULL) { - MPIU_Object_set_ref(sreq, 0); - MPIDI_CH3_Request_destroy(sreq); + MPID_Request_release(sreq); sreq = NULL; MPIU_ERR_SET1(mpi_errno, MPI_ERR_OTHER, "**nomem", "**nomemuereq %d", MPIDI_CH3U_Recvq_count_unexp()); ----------------------------------------------------------------------- Summary of changes: .../channels/nemesis/netmod/portals4/ptl_send.c | 3 +-- .../ch3/channels/nemesis/netmod/scif/scif_send.c | 3 +-- .../ch3/channels/nemesis/netmod/tcp/tcp_send.c | 3 +-- .../channels/nemesis/netmod/wintcp/wintcp_send.c | 3 +-- src/mpid/ch3/src/ch3u_eager.c | 9 +++------ src/mpid/ch3/src/ch3u_eagersync.c | 6 ++---- src/mpid/ch3/src/ch3u_handle_recv_req.c | 9 +++------ src/mpid/ch3/src/ch3u_rma_sync.c | 18 ++++++------------ src/mpid/ch3/src/ch3u_rndv.c | 6 ++---- src/mpid/ch3/src/mpid_cancel_send.c | 3 +-- src/mpid/ch3/src/mpid_irsend.c | 3 +-- src/mpid/ch3/src/mpid_isend.c | 3 +-- src/mpid/ch3/src/mpidi_isend_self.c | 3 +-- 13 files changed, 24 insertions(+), 48 deletions(-) hooks/post-receive -- MPICH primary repository