From f1a3a35fcd2ff3a698a89361218e621fb54b42fd Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Mon, 10 Oct 2011 16:38:46 +0000 Subject: [PATCH] Cannot rely on detection of connection terminations for deciding when to exit as they don't always go away immediately. There is no info coming back anyway, so it's okay to just exit once the relay has been sent. The relay is sent via a blocking API, so just go ahead and quit. This commit was SVN r25245. --- orte/orted/orted_comm.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/orte/orted/orted_comm.c b/orte/orted/orted_comm.c index 04368b04b8..af607a00ff 100644 --- a/orte/orted/orted_comm.c +++ b/orte/orted/orted_comm.c @@ -745,14 +745,11 @@ int orte_daemon_process_commands(orte_process_name_t* sender, } /* kill the local procs */ orte_odls.kill_local_procs(NULL); - /* if all our dependent routes are gone, exit */ - if (0 == orte_routed.num_routes()) { - if (ORTE_PROC_IS_HNP) { - orte_jobs_complete(); - } else { - orte_quit(); - } - } + /* trigger our appropriate exit procedure + * NOTE: this event will fire -after- any zero-time events + * so any pending relays -do- get sent first + */ + orte_quit(); return ORTE_SUCCESS; break;