Provide the sender's name for blocking recv's
This commit was SVN r22852.
Этот коммит содержится в:
родитель
1445a36a26
Коммит
a479e6c320
@ -301,11 +301,11 @@ static int queue_xmit(rmcast_base_send_t *snd,
|
|||||||
process:
|
process:
|
||||||
OPAL_OUTPUT_VERBOSE((2, orte_rmcast_base.rmcast_output,
|
OPAL_OUTPUT_VERBOSE((2, orte_rmcast_base.rmcast_output,
|
||||||
"%s rmcast:udp: send of %d %s"
|
"%s rmcast:udp: send of %d %s"
|
||||||
" called on multicast channel %03d.%03d.%03d.%03d %0x",
|
" called on multicast channel %03d.%03d.%03d.%03d",
|
||||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
|
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
|
||||||
(NULL == snd->iovec_array) ? (int)snd->buf->bytes_used : (int)snd->iovec_count,
|
(NULL == snd->iovec_array) ? (int)snd->buf->bytes_used : (int)snd->iovec_count,
|
||||||
(NULL == snd->iovec_array) ? "bytes" : "iovecs",
|
(NULL == snd->iovec_array) ? "bytes" : "iovecs",
|
||||||
OPAL_IF_FORMAT_ADDR(ch->network), ch->network));
|
OPAL_IF_FORMAT_ADDR(ch->network)));
|
||||||
|
|
||||||
/* add it to this channel's pending sends */
|
/* add it to this channel's pending sends */
|
||||||
OPAL_THREAD_LOCK(&ch->send_lock);
|
OPAL_THREAD_LOCK(&ch->send_lock);
|
||||||
@ -1031,6 +1031,9 @@ static void process_recv(int fd, short event, void *cbdata)
|
|||||||
ptr->iovec_array[i].iov_len = iovec_array[i].iov_len;
|
ptr->iovec_array[i].iov_len = iovec_array[i].iov_len;
|
||||||
memcpy(ptr->iovec_array[i].iov_base, iovec_array[i].iov_base, iovec_array[i].iov_len);
|
memcpy(ptr->iovec_array[i].iov_base, iovec_array[i].iov_base, iovec_array[i].iov_len);
|
||||||
}
|
}
|
||||||
|
/* copy the sender's name */
|
||||||
|
ptr->name.jobid = name.jobid;
|
||||||
|
ptr->name.vpid = name.vpid;
|
||||||
/* flag it as recvd to release blocking recv */
|
/* flag it as recvd to release blocking recv */
|
||||||
ptr->recvd = true;
|
ptr->recvd = true;
|
||||||
}
|
}
|
||||||
@ -1054,6 +1057,9 @@ static void process_recv(int fd, short event, void *cbdata)
|
|||||||
ORTE_ERROR_LOG(rc);
|
ORTE_ERROR_LOG(rc);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
/* copy the sender's name */
|
||||||
|
ptr->name.jobid = name.jobid;
|
||||||
|
ptr->name.vpid = name.vpid;
|
||||||
/* flag it as recvd to release blocking recv */
|
/* flag it as recvd to release blocking recv */
|
||||||
ptr->recvd = true;
|
ptr->recvd = true;
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user