Refine the protection from cross-dvm communications
This commit was SVN r23615.
Этот коммит содержится в:
родитель
a036c24253
Коммит
bbf84fd92b
@ -241,15 +241,19 @@ void orte_rmcast_base_process_recv(orte_mcast_msg_event_t *msg)
|
|||||||
* it is on the system channel. We ignore these messages to avoid
|
* it is on the system channel. We ignore these messages to avoid
|
||||||
* confusion between different jobs since we all may be sharing
|
* confusion between different jobs since we all may be sharing
|
||||||
* multicast channels. The system channel is left open to support
|
* multicast channels. The system channel is left open to support
|
||||||
* cross-job communications via the HNP.
|
* cross-job communications for detecting multiple conflicting DVMs.
|
||||||
*/
|
*/
|
||||||
if (ORTE_JOB_FAMILY(name.jobid) != ORTE_JOB_FAMILY(ORTE_PROC_MY_NAME->jobid) &&
|
if (ORTE_JOB_FAMILY(name.jobid) != ORTE_JOB_FAMILY(ORTE_PROC_MY_NAME->jobid) &&
|
||||||
(ORTE_RMCAST_SYS_CHANNEL != channel)) {
|
(ORTE_RMCAST_SYS_CHANNEL != channel)) {
|
||||||
OPAL_OUTPUT_VERBOSE((10, orte_rmcast_base.rmcast_output,
|
/* if we are not the HNP or a daemon, then we ignore this */
|
||||||
"%s rmcast:base:process_recv from a different job family: %s",
|
if (ORTE_PROC_IS_HNP || ORTE_PROC_IS_DAEMON) {
|
||||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
|
OPAL_OUTPUT_VERBOSE((10, orte_rmcast_base.rmcast_output,
|
||||||
ORTE_NAME_PRINT(&name)));
|
"%s rmcast:base:process_recv from a different job family: %s",
|
||||||
goto cleanup;
|
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
|
||||||
|
ORTE_NAME_PRINT(&name)));
|
||||||
|
} else {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* unpack the iovec vs buf flag */
|
/* unpack the iovec vs buf flag */
|
||||||
@ -403,7 +407,7 @@ void orte_rmcast_base_process_recv(orte_mcast_msg_event_t *msg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (NULL != iovec_array) {
|
if (NULL != iovec_array) {
|
||||||
for (i=0; i < iovec_count; i++) {
|
for (i=0; i < iovec_count; i++) {
|
||||||
free(iovec_array[i].iov_base);
|
free(iovec_array[i].iov_base);
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user