1
1

Orcm sends heartbeats to its daemons, but ORTE needs to continue sending it to the HNP

This commit was SVN r30514.
Этот коммит содержится в:
Ralph Castain 2014-01-31 01:56:01 +00:00
родитель 193cceb483
Коммит 2bc9fd30ee

Просмотреть файл

@ -116,15 +116,22 @@ static void sample(void)
{ {
opal_buffer_t *buf; opal_buffer_t *buf;
int rc; int rc;
orte_process_name_t *tgt;
/* if we are aborting or shutting down, ignore this */ /* if we are aborting or shutting down, ignore this */
if (orte_abnormal_term_ordered || orte_finalizing || !orte_initialized) { if (orte_abnormal_term_ordered || orte_finalizing || !orte_initialized) {
return; return;
} }
/* if my HNP hasn't been defined yet, ignore - nobody listening yet */ if (ORTE_PROC_IS_CM) {
if (ORTE_JOBID_INVALID == ORTE_PROC_MY_HNP->jobid || /* we send to our daemon */
ORTE_VPID_INVALID == ORTE_PROC_MY_HNP->vpid) { tgt = ORTE_PROC_MY_DAEMON;
} else {
tgt = ORTE_PROC_MY_HNP;
}
/* if my target hasn't been defined yet, ignore - nobody listening yet */
if (ORTE_JOBID_INVALID ==tgt->jobid ||
ORTE_VPID_INVALID == tgt->vpid) {
opal_output_verbose(1, orte_sensor_base_framework.framework_output, opal_output_verbose(1, orte_sensor_base_framework.framework_output,
"%s sensor:heartbeat: HNP is not defined", "%s sensor:heartbeat: HNP is not defined",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)); ORTE_NAME_PRINT(ORTE_PROC_MY_NAME));
@ -145,7 +152,7 @@ static void sample(void)
} }
/* send heartbeat */ /* send heartbeat */
if (ORTE_SUCCESS != (rc = orte_rml.send_buffer_nb(ORTE_PROC_MY_DAEMON, buf, if (ORTE_SUCCESS != (rc = orte_rml.send_buffer_nb(tgt, buf,
ORTE_RML_TAG_HEARTBEAT, ORTE_RML_TAG_HEARTBEAT,
orte_rml_send_callback, NULL))) { orte_rml_send_callback, NULL))) {
ORTE_ERROR_LOG(rc); ORTE_ERROR_LOG(rc);