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 */
|
/* 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);
|
ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE);
|
||||||
OBJ_RELEASE(cmd);
|
OBJ_RELEASE(cmd);
|
||||||
return ORTE_ERR_COMM_FAILURE;
|
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 */
|
/* 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);
|
ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE);
|
||||||
OBJ_RELEASE(answer);
|
OBJ_RELEASE(answer);
|
||||||
return ORTE_ERR_COMM_FAILURE;
|
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 */
|
/* 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);
|
ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE);
|
||||||
OBJ_RELEASE(cmd);
|
OBJ_RELEASE(cmd);
|
||||||
return ORTE_ERR_COMM_FAILURE;
|
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 */
|
/* 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);
|
ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE);
|
||||||
OBJ_RELEASE(answer);
|
OBJ_RELEASE(answer);
|
||||||
return ORTE_ERR_COMM_FAILURE;
|
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 */
|
/* 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);
|
ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE);
|
||||||
OBJ_RELEASE(cmd);
|
OBJ_RELEASE(cmd);
|
||||||
return ORTE_ERR_COMM_FAILURE;
|
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 */
|
/* 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);
|
ORTE_ERROR_LOG(ORTE_ERR_COMM_FAILURE);
|
||||||
OBJ_RELEASE(answer);
|
OBJ_RELEASE(answer);
|
||||||
return ORTE_ERR_COMM_FAILURE;
|
return ORTE_ERR_COMM_FAILURE;
|
||||||
|
@ -44,6 +44,8 @@ extern "C" {
|
|||||||
int pls_output;
|
int pls_output;
|
||||||
/** List of opened components */
|
/** List of opened components */
|
||||||
opal_list_t available_components;
|
opal_list_t available_components;
|
||||||
|
/** indicate a component has been selected */
|
||||||
|
bool selected;
|
||||||
/** selected component */
|
/** selected component */
|
||||||
orte_pls_base_component_t selected_component;
|
orte_pls_base_component_t selected_component;
|
||||||
} orte_pls_base_t;
|
} orte_pls_base_t;
|
||||||
|
@ -38,6 +38,11 @@ int orte_pls_base_finalize(void)
|
|||||||
|
|
||||||
int orte_pls_base_close(void)
|
int orte_pls_base_close(void)
|
||||||
{
|
{
|
||||||
|
/* finalize selected module */
|
||||||
|
if (orte_pls_base.selected) {
|
||||||
|
orte_pls.finalize();
|
||||||
|
}
|
||||||
|
|
||||||
/* Close all open components */
|
/* Close all open components */
|
||||||
mca_base_components_close(orte_pls_base.pls_output,
|
mca_base_components_close(orte_pls_base.pls_output,
|
||||||
&orte_pls_base.available_components, NULL);
|
&orte_pls_base.available_components, NULL);
|
||||||
|
@ -66,6 +66,9 @@ int orte_pls_base_open(void)
|
|||||||
orte_pls_base.pls_output = -1;
|
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 */
|
/* Open up all the components that we can find */
|
||||||
|
|
||||||
if (ORTE_SUCCESS !=
|
if (ORTE_SUCCESS !=
|
||||||
|
@ -99,6 +99,7 @@ int orte_pls_base_select(void)
|
|||||||
|
|
||||||
orte_pls = *best_module;
|
orte_pls = *best_module;
|
||||||
orte_pls_base.selected_component = *best_component;
|
orte_pls_base.selected_component = *best_component;
|
||||||
|
orte_pls_base.selected = true;
|
||||||
|
|
||||||
return ORTE_SUCCESS;
|
return ORTE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user