Fix a couple of reported issues:
1. PLS finalize was not being called. Now ensure that happens during orte_finalize. 2. Errmgr proxies were sending their messages to the wrong tag - typical cut/paste error. This commit was SVN r11891.
Этот коммит содержится в:
родитель
c46ff48429
Коммит
db6a93fa63
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -66,6 +66,9 @@ int orte_pls_base_open(void)
|
||||
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 */
|
||||
|
||||
if (ORTE_SUCCESS !=
|
||||
|
@ -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;
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user