1
1

Refine the protection from cross-dvm communications

This commit was SVN r23615.
Этот коммит содержится в:
Ralph Castain 2010-08-16 16:33:39 +00:00
родитель 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);