1
1

Prevent errmgr invokation from crashing in finalize

Signed-off-by: Aurelien Bouteiller <bouteill@icl.utk.edu>
Этот коммит содержится в:
Aurelien Bouteiller 2018-10-24 02:03:24 -04:00
родитель a1e85b03aa
Коммит 348bf8e13f
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 08F60797C5941DB2
3 изменённых файлов: 16 добавлений и 9 удалений

Просмотреть файл

@ -4,7 +4,7 @@
*
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
*
* Copyright (c) 2004-2006 The University of Tennessee and The University
* Copyright (c) 2004-2018 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
@ -101,14 +101,14 @@ static void notify_cbfunc(int status,
state = ORTE_PROC_STATE_TERMINATED;
}
/* push it into our event base */
ORTE_ACTIVATE_PROC_STATE((orte_process_name_t*)source, state);
/* let the caller know we processed this, but allow the
* chain to continue */
if (NULL != cbfunc) {
cbfunc(ORTE_SUCCESS, NULL, NULL, NULL, cbdata);
}
/* push it into our event base */
ORTE_ACTIVATE_PROC_STATE((orte_process_name_t*)source, state);
}
/************************
@ -143,6 +143,7 @@ static int finalize(void)
{
if (SIZE_MAX != myerrhandle) {
opal_pmix.deregister_evhandler(myerrhandle, NULL, NULL);
myerrhandle = SIZE_MAX;
}
return ORTE_SUCCESS;
}

Просмотреть файл

@ -2,7 +2,7 @@
* Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2011 The University of Tennessee and The University
* Copyright (c) 2004-2018 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -669,7 +669,9 @@ int orte_ess_base_orted_finalize(void)
(void) mca_base_framework_close(&orte_filem_base_framework);
(void) mca_base_framework_close(&orte_grpcomm_base_framework);
(void) mca_base_framework_close(&orte_iof_base_framework);
(void) mca_base_framework_close(&orte_errmgr_base_framework);
/* first stage shutdown of the errmgr, deregister the handler but keep
* the required facilities until the rml and oob are offline */
orte_errmgr.finalize();
(void) mca_base_framework_close(&orte_plm_base_framework);
/* make sure our local procs are dead */
orte_odls.kill_local_procs(NULL);
@ -678,6 +680,7 @@ int orte_ess_base_orted_finalize(void)
(void) mca_base_framework_close(&orte_routed_base_framework);
(void) mca_base_framework_close(&orte_rml_base_framework);
(void) mca_base_framework_close(&orte_oob_base_framework);
(void) mca_base_framework_close(&orte_errmgr_base_framework);
(void) mca_base_framework_close(&orte_state_base_framework);
/* remove our use of the session directory tree */
orte_session_dir_finalize(ORTE_PROC_MY_NAME);

Просмотреть файл

@ -3,7 +3,7 @@
* Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2011 The University of Tennessee and The University
* Copyright (c) 2004-2018 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
@ -799,8 +799,9 @@ static int rte_finalize(void)
(void) mca_base_framework_close(&orte_grpcomm_base_framework);
(void) mca_base_framework_close(&orte_routed_base_framework);
(void) mca_base_framework_close(&orte_plm_base_framework);
(void) mca_base_framework_close(&orte_errmgr_base_framework);
(void) mca_base_framework_close(&orte_state_base_framework);
/* first stage shutdown of the errmgr, deregister the handler but keep
* the required facilities until the rml and oob are offline */
orte_errmgr.finalize();
/* cleanup the pstat stuff */
(void) mca_base_framework_close(&opal_pstat_base_framework);
@ -816,6 +817,8 @@ static int rte_finalize(void)
/* shutdown the messaging frameworks */
(void) mca_base_framework_close(&orte_rml_base_framework);
(void) mca_base_framework_close(&orte_oob_base_framework);
(void) mca_base_framework_close(&orte_errmgr_base_framework);
(void) mca_base_framework_close(&orte_state_base_framework);
/* remove our use of the session directory tree */
orte_session_dir_finalize(ORTE_PROC_MY_NAME);