When we succesfully cancel a request we have to set it's pml_complete flag to true
if we want to be able to reuse the request. If not, the request will never be freed even if the user call MPI_Request_free. This commit was SVN r11717.
Этот коммит содержится в:
родитель
c4db5654fa
Коммит
6f3782bbd7
@ -94,6 +94,11 @@ static int mca_pml_ob1_recv_request_cancel(struct ompi_request_t* ompi_request,
|
|||||||
}
|
}
|
||||||
PERUSE_TRACE_COMM_EVENT( PERUSE_COMM_REQ_REMOVE_FROM_POSTED_Q,
|
PERUSE_TRACE_COMM_EVENT( PERUSE_COMM_REQ_REMOVE_FROM_POSTED_Q,
|
||||||
&(request->req_recv.req_base), PERUSE_RECV );
|
&(request->req_recv.req_base), PERUSE_RECV );
|
||||||
|
/**
|
||||||
|
* As now the PML is done with this request we have to force the lmp_complete
|
||||||
|
* to true. Otherwise, the request will never be freed.
|
||||||
|
*/
|
||||||
|
request->req_recv.req_base.req_pml_complete = true;
|
||||||
}
|
}
|
||||||
OPAL_THREAD_UNLOCK(&comm->matching_lock);
|
OPAL_THREAD_UNLOCK(&comm->matching_lock);
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user