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;
|
||||
}
|
||||
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);
|
||||
return size;
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user