|  | 
| 13 | 13 |  * Copyright (c) 2008      UT-Battelle, LLC. All rights reserved. | 
| 14 | 14 |  * Copyright (c) 2011      Sandia National Laboratories. All rights reserved. | 
| 15 | 15 |  * Copyright (c) 2012-2015 NVIDIA Corporation.  All rights reserved. | 
| 16 |  | - * Copyright (c) 2011-2015 Los Alamos National Security, LLC. All rights | 
|  | 16 | + * Copyright (c) 2011-2016 Los Alamos National Security, LLC. All rights | 
| 17 | 17 |  *                         reserved. | 
| 18 | 18 |  * Copyright (c) 2012      FUJITSU LIMITED.  All rights reserved. | 
| 19 | 19 |  * Copyright (c) 2014-2015 Research Organization for Information Science | 
| @@ -70,27 +70,25 @@ void mca_pml_ob1_recv_request_process_pending(void) | 
| 70 | 70 | static int mca_pml_ob1_recv_request_free(struct ompi_request_t** request) | 
| 71 | 71 | { | 
| 72 | 72 |     mca_pml_ob1_recv_request_t* recvreq = *(mca_pml_ob1_recv_request_t**)request; | 
|  | 73 | +    assert (false == recvreq->req_recv.req_base.req_free_called); | 
| 73 | 74 | 
 | 
| 74 |  | -    if(false == recvreq->req_recv.req_base.req_free_called){ | 
|  | 75 | +    recvreq->req_recv.req_base.req_free_called = true; | 
|  | 76 | +    PERUSE_TRACE_COMM_EVENT( PERUSE_COMM_REQ_NOTIFY, | 
|  | 77 | +                             &(recvreq->req_recv.req_base), PERUSE_RECV ); | 
| 75 | 78 | 
 | 
| 76 |  | -        recvreq->req_recv.req_base.req_free_called = true; | 
| 77 |  | -        PERUSE_TRACE_COMM_EVENT( PERUSE_COMM_REQ_NOTIFY, | 
| 78 |  | -                                 &(recvreq->req_recv.req_base), PERUSE_RECV ); | 
| 79 |  | - | 
| 80 |  | -        if( true == recvreq->req_recv.req_base.req_pml_complete ) { | 
| 81 |  | -            /* make buffer defined when the request is compeleted, | 
| 82 |  | -               and before releasing the objects. */ | 
| 83 |  | -            MEMCHECKER( | 
| 84 |  | -                memchecker_call(&opal_memchecker_base_mem_defined, | 
| 85 |  | -                                recvreq->req_recv.req_base.req_addr, | 
| 86 |  | -                                recvreq->req_recv.req_base.req_count, | 
| 87 |  | -                                recvreq->req_recv.req_base.req_datatype); | 
| 88 |  | -            ); | 
| 89 |  | - | 
| 90 |  | -            MCA_PML_OB1_RECV_REQUEST_RETURN( recvreq ); | 
| 91 |  | -        } | 
|  | 79 | +    if( true == recvreq->req_recv.req_base.req_pml_complete ) { | 
|  | 80 | +        /* make buffer defined when the request is compeleted, | 
|  | 81 | +           and before releasing the objects. */ | 
|  | 82 | +        MEMCHECKER( | 
|  | 83 | +                   memchecker_call(&opal_memchecker_base_mem_defined, | 
|  | 84 | +                                   recvreq->req_recv.req_base.req_addr, | 
|  | 85 | +                                   recvreq->req_recv.req_base.req_count, | 
|  | 86 | +                                   recvreq->req_recv.req_base.req_datatype); | 
|  | 87 | +                   ); | 
| 92 | 88 | 
 | 
|  | 89 | +        MCA_PML_OB1_RECV_REQUEST_RETURN( recvreq ); | 
| 93 | 90 |     } | 
|  | 91 | + | 
| 94 | 92 |     *request = MPI_REQUEST_NULL; | 
| 95 | 93 |     return OMPI_SUCCESS; | 
| 96 | 94 | } | 
| @@ -1171,7 +1169,7 @@ void mca_pml_ob1_recv_req_start(mca_pml_ob1_recv_request_t *req) | 
| 1171 | 1169 |     req->req_pending = false; | 
| 1172 | 1170 |     req->req_ack_sent = false; | 
| 1173 | 1171 | 
 | 
| 1174 |  | -    MCA_PML_BASE_RECV_START(&req->req_recv.req_base); | 
|  | 1172 | +    MCA_PML_BASE_RECV_START(&req->req_recv); | 
| 1175 | 1173 | 
 | 
| 1176 | 1174 |     OB1_MATCHING_LOCK(&ob1_comm->matching_lock); | 
| 1177 | 1175 |     /** | 
|  | 
0 commit comments