fix deadlock on rendezvous protocol..
This commit was SVN r12982.
Этот коммит содержится в:
родитель
f12bbe0591
Коммит
931a389c4f
@ -247,13 +247,14 @@ static void mca_pml_ob1_rndv_completion(
|
|||||||
sizeof(mca_pml_ob1_rendezvous_hdr_t),
|
sizeof(mca_pml_ob1_rendezvous_hdr_t),
|
||||||
req_bytes_delivered );
|
req_bytes_delivered );
|
||||||
|
|
||||||
|
OPAL_THREAD_ADD_SIZE_T(&sendreq->req_bytes_delivered,
|
||||||
|
req_bytes_delivered);
|
||||||
/* return the descriptor */
|
/* return the descriptor */
|
||||||
mca_bml_base_free(bml_btl, descriptor);
|
mca_bml_base_free(bml_btl, descriptor);
|
||||||
|
|
||||||
/* advance the request */
|
/* advance the request */
|
||||||
if(OPAL_THREAD_ADD32(&sendreq->req_state, 1) == 2 &&
|
if(OPAL_THREAD_ADD32(&sendreq->req_state, 1) == 2 &&
|
||||||
OPAL_THREAD_ADD_SIZE_T(&sendreq->req_bytes_delivered,
|
sendreq->req_bytes_delivered >= sendreq->req_send.req_bytes_packed) {
|
||||||
req_bytes_delivered) >= sendreq->req_send.req_bytes_packed) {
|
|
||||||
MCA_PML_OB1_SEND_REQUEST_PML_COMPLETE(sendreq);
|
MCA_PML_OB1_SEND_REQUEST_PML_COMPLETE(sendreq);
|
||||||
}
|
}
|
||||||
/* check for pending requests */
|
/* check for pending requests */
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user