bug fix - generate a completion callback for local sends
This commit was SVN r5921.
Этот коммит содержится в:
родитель
c073999c7f
Коммит
e21ffa48e2
@ -43,6 +43,29 @@ static int mca_oob_tcp_send_self(
|
|||||||
ptr += iov[rc].iov_len;
|
ptr += iov[rc].iov_len;
|
||||||
}
|
}
|
||||||
msg->msg_hdr.msg_size = size;
|
msg->msg_hdr.msg_size = size;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copied original buffer - so local send completion.
|
||||||
|
*/
|
||||||
|
|
||||||
|
ompi_mutex_lock(&msg->msg_lock);
|
||||||
|
msg->msg_complete = true;
|
||||||
|
if(NULL != msg->msg_cbfunc) {
|
||||||
|
msg->msg_cbfunc(
|
||||||
|
ORTE_SUCCESS,
|
||||||
|
&peer->peer_name,
|
||||||
|
msg->msg_uiov,
|
||||||
|
msg->msg_ucnt,
|
||||||
|
msg->msg_hdr.msg_tag,
|
||||||
|
msg->msg_cbdata);
|
||||||
|
} else {
|
||||||
|
ompi_condition_broadcast(&msg->msg_condition);
|
||||||
|
}
|
||||||
|
ompi_mutex_unlock(&msg->msg_lock);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Attempt to match against posted receive
|
||||||
|
*/
|
||||||
mca_oob_tcp_msg_recv_complete(msg, peer);
|
mca_oob_tcp_msg_recv_complete(msg, peer);
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user