correct the return value to the allocated buffer - in the
case of a partial read, the iovec no longer points to the start of the allocated buffer or the entire length of the message This commit was SVN r3535.
Этот коммит содержится в:
родитель
2e6eaf6d5f
Коммит
e391c90105
@ -360,10 +360,10 @@ static void mca_oob_tcp_msg_data(mca_oob_tcp_msg_t* msg, mca_oob_tcp_peer_t* pee
|
||||
/* first iovec of recv message contains the header -
|
||||
* subsequent contain user data
|
||||
*/
|
||||
post->msg_uiov[0].iov_base = msg->msg_rwiov[1].iov_base;
|
||||
post->msg_uiov[0].iov_len = msg->msg_rwiov[1].iov_len;
|
||||
post->msg_uiov[0].iov_base = msg->msg_rwbuf;
|
||||
post->msg_uiov[0].iov_len = msg->msg_hdr.msg_size;
|
||||
post->msg_rc = msg->msg_hdr.msg_size;
|
||||
msg->msg_rwbuf = NULL;
|
||||
post->msg_rc = msg->msg_rwiov[1].iov_len;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
@ -52,8 +52,8 @@ int mca_oob_tcp_recv(
|
||||
if(NULL == iov || 0 == count) {
|
||||
return OMPI_ERR_BAD_PARAM;
|
||||
}
|
||||
iov[0].iov_base = msg->msg_rwiov[1].iov_base;
|
||||
iov[0].iov_len = msg->msg_rwiov[1].iov_len;
|
||||
iov[0].iov_base = msg->msg_rwbuf;
|
||||
iov[0].iov_len = msg->msg_hdr.msg_size;
|
||||
msg->msg_rwbuf = NULL;
|
||||
|
||||
} else {
|
||||
@ -161,8 +161,8 @@ int mca_oob_tcp_recv_nb(
|
||||
if(NULL == iov || 0 == count) {
|
||||
return OMPI_ERR_BAD_PARAM;
|
||||
}
|
||||
iov[0].iov_base = msg->msg_rwiov[1].iov_base;
|
||||
iov[0].iov_len = msg->msg_rwiov[1].iov_len;
|
||||
iov[0].iov_base = msg->msg_rwbuf;
|
||||
iov[0].iov_len = msg->msg_hdr.msg_size;
|
||||
msg->msg_rwbuf = NULL;
|
||||
|
||||
} else {
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user