From a94920276d12df79f703b0a8fbce8ef9c771a362 Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Sat, 8 Feb 2014 18:15:07 +0000 Subject: [PATCH] Fix singleton MPI_Abort. Singletons no longer immediately start an HNP, but only launch one when they need it for comm_spawn. So there isn't anyone to send the "abort" report to, and thus we just exit after emitting our message. cmr=v1.7.5:reviewer=jsquyres:subject=Fix singleton MPI_Abort This commit was SVN r30635. --- orte/mca/ess/base/ess_base_std_app.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/orte/mca/ess/base/ess_base_std_app.c b/orte/mca/ess/base/ess_base_std_app.c index b6f3c16423..97cdfc32bd 100644 --- a/orte/mca/ess/base/ess_base_std_app.c +++ b/orte/mca/ess/base/ess_base_std_app.c @@ -382,9 +382,13 @@ void orte_ess_base_app_abort(int status, bool report) /* If we were asked to report this termination, do so - except * in cases of abnormal termination ordered by the RTE as - * this means we can't rely on being able to communicate + * this means we can't rely on being able to communicate. Also, + * since singletons don't start an HNP unless necessary, and + * direct-launched procs don't have daemons at all, only send + * the message if routing is enabled as this indicates we + * have someone to send to */ - if (report && !orte_abnormal_term_ordered) { + if (report && !orte_abnormal_term_ordered && orte_routing_is_enabled) { buf = OBJ_NEW(opal_buffer_t); opal_dss.pack(buf, &cmd, 1, ORTE_DAEMON_CMD); orte_rml.send_buffer_nb(ORTE_PROC_MY_DAEMON, buf, ORTE_RML_TAG_DAEMON, orte_rml_send_callback, NULL);