diff --git a/orte/mca/errmgr/bproc/errmgr_bproc.c b/orte/mca/errmgr/bproc/errmgr_bproc.c index cf1f182dc6..f4a41b7024 100644 --- a/orte/mca/errmgr/bproc/errmgr_bproc.c +++ b/orte/mca/errmgr/bproc/errmgr_bproc.c @@ -174,7 +174,7 @@ int orte_errmgr_bproc_abort_procs_request(orte_process_name_t *procs, orte_std_c } /* send the request */ - if (0 > orte_rml.send_buffer(orte_errmgr_bproc_globals.replica, cmd, ORTE_RML_TAG_RDS, 0)) { + if (0 > orte_rml.send_buffer(orte_errmgr_bproc_globals.replica, cmd, ORTE_RML_TAG_ERRMGR, 0)) { ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE); OBJ_RELEASE(cmd); return ORTE_ERR_COMM_FAILURE; @@ -189,7 +189,7 @@ int orte_errmgr_bproc_abort_procs_request(orte_process_name_t *procs, orte_std_c } /* enter a blocking receive until we hear back */ - if (0 > orte_rml.recv_buffer(orte_errmgr_bproc_globals.replica, answer, ORTE_RML_TAG_RDS)) { + if (0 > orte_rml.recv_buffer(orte_errmgr_bproc_globals.replica, answer, ORTE_RML_TAG_ERRMGR)) { ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE); OBJ_RELEASE(answer); return ORTE_ERR_COMM_FAILURE; diff --git a/orte/mca/errmgr/orted/errmgr_orted.c b/orte/mca/errmgr/orted/errmgr_orted.c index 929e63f79a..eb969d1b5d 100644 --- a/orte/mca/errmgr/orted/errmgr_orted.c +++ b/orte/mca/errmgr/orted/errmgr_orted.c @@ -143,7 +143,7 @@ int orte_errmgr_orted_abort_procs_request(orte_process_name_t *procs, orte_std_c } /* send the request */ - if (0 > orte_rml.send_buffer(orte_errmgr_orted_globals.replica, cmd, ORTE_RML_TAG_RDS, 0)) { + if (0 > orte_rml.send_buffer(orte_errmgr_orted_globals.replica, cmd, ORTE_RML_TAG_ERRMGR, 0)) { ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE); OBJ_RELEASE(cmd); return ORTE_ERR_COMM_FAILURE; @@ -158,7 +158,7 @@ int orte_errmgr_orted_abort_procs_request(orte_process_name_t *procs, orte_std_c } /* enter a blocking receive until we hear back */ - if (0 > orte_rml.recv_buffer(orte_errmgr_orted_globals.replica, answer, ORTE_RML_TAG_RDS)) { + if (0 > orte_rml.recv_buffer(orte_errmgr_orted_globals.replica, answer, ORTE_RML_TAG_ERRMGR)) { ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE); OBJ_RELEASE(answer); return ORTE_ERR_COMM_FAILURE; diff --git a/orte/mca/errmgr/proxy/errmgr_proxy.c b/orte/mca/errmgr/proxy/errmgr_proxy.c index 7d6c0e6e06..d85a5a0c5b 100644 --- a/orte/mca/errmgr/proxy/errmgr_proxy.c +++ b/orte/mca/errmgr/proxy/errmgr_proxy.c @@ -138,7 +138,7 @@ int orte_errmgr_proxy_abort_procs_request(orte_process_name_t *procs, orte_std_c } /* send the request */ - if (0 > orte_rml.send_buffer(orte_errmgr_proxy_globals.replica, cmd, ORTE_RML_TAG_RDS, 0)) { + if (0 > orte_rml.send_buffer(orte_errmgr_proxy_globals.replica, cmd, ORTE_RML_TAG_ERRMGR, 0)) { ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE); OBJ_RELEASE(cmd); return ORTE_ERR_COMM_FAILURE; @@ -153,7 +153,7 @@ int orte_errmgr_proxy_abort_procs_request(orte_process_name_t *procs, orte_std_c } /* enter a blocking receive until we hear back */ - if (0 > orte_rml.recv_buffer(orte_errmgr_proxy_globals.replica, answer, ORTE_RML_TAG_RDS)) { + if (0 > orte_rml.recv_buffer(orte_errmgr_proxy_globals.replica, answer, ORTE_RML_TAG_ERRMGR)) { ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE); OBJ_RELEASE(answer); return ORTE_ERR_COMM_FAILURE; diff --git a/orte/mca/pls/base/base.h b/orte/mca/pls/base/base.h index 2ed28a9851..074b4006e2 100644 --- a/orte/mca/pls/base/base.h +++ b/orte/mca/pls/base/base.h @@ -44,6 +44,8 @@ extern "C" { int pls_output; /** List of opened components */ opal_list_t available_components; + /** indicate a component has been selected */ + bool selected; /** selected component */ orte_pls_base_component_t selected_component; } orte_pls_base_t; diff --git a/orte/mca/pls/base/pls_base_close.c b/orte/mca/pls/base/pls_base_close.c index ec49d27033..22adb1327c 100644 --- a/orte/mca/pls/base/pls_base_close.c +++ b/orte/mca/pls/base/pls_base_close.c @@ -38,6 +38,11 @@ int orte_pls_base_finalize(void) int orte_pls_base_close(void) { + /* finalize selected module */ + if (orte_pls_base.selected) { + orte_pls.finalize(); + } + /* Close all open components */ mca_base_components_close(orte_pls_base.pls_output, &orte_pls_base.available_components, NULL); diff --git a/orte/mca/pls/base/pls_base_open.c b/orte/mca/pls/base/pls_base_open.c index e5fa0667a5..1a3d5ff769 100644 --- a/orte/mca/pls/base/pls_base_open.c +++ b/orte/mca/pls/base/pls_base_open.c @@ -65,6 +65,9 @@ int orte_pls_base_open(void) } else { orte_pls_base.pls_output = -1; } + + /* init selected to be false */ + orte_pls_base.selected = false; /* Open up all the components that we can find */ diff --git a/orte/mca/pls/base/pls_base_select.c b/orte/mca/pls/base/pls_base_select.c index beec3718eb..4c136cd153 100644 --- a/orte/mca/pls/base/pls_base_select.c +++ b/orte/mca/pls/base/pls_base_select.c @@ -99,6 +99,7 @@ int orte_pls_base_select(void) orte_pls = *best_module; orte_pls_base.selected_component = *best_component; + orte_pls_base.selected = true; return ORTE_SUCCESS; }