Try and do a better job of cleanup in abnormal termination. Ensure the daemons whack session directories prior to disabling signal traps. Ensure that the HNP and daemons all cleanup when they are doing an internal abort.
This commit was SVN r22755.
Этот коммит содержится в:
родитель
b692645772
Коммит
cd1efbb41e
@ -32,6 +32,7 @@
|
||||
#include "orte/util/name_fns.h"
|
||||
#include "orte/util/session_dir.h"
|
||||
#include "orte/mca/ess/ess.h"
|
||||
#include "orte/mca/odls/odls.h"
|
||||
|
||||
#include "orte/mca/errmgr/errmgr.h"
|
||||
#include "orte/mca/errmgr/base/errmgr_private.h"
|
||||
@ -75,8 +76,16 @@ void orte_errmgr_base_error_abort(int error_code, char *fmt, ...)
|
||||
}
|
||||
va_end(arglist);
|
||||
|
||||
/* cleanup my session directory */
|
||||
orte_session_dir_finalize(ORTE_PROC_MY_NAME);
|
||||
/* if I am a daemon or the HNP... */
|
||||
if (ORTE_PROC_IS_HNP || ORTE_PROC_IS_DAEMON) {
|
||||
/* whack my local procs */
|
||||
orte_odls.kill_local_procs(NULL, false);
|
||||
/* whack any session directories */
|
||||
orte_session_dir_cleanup(ORTE_JOBID_WILDCARD);
|
||||
} else {
|
||||
/* cleanup my session directory */
|
||||
orte_session_dir_finalize(ORTE_PROC_MY_NAME);
|
||||
}
|
||||
|
||||
/* abnormal exit */
|
||||
orte_ess.abort(error_code, false);
|
||||
|
@ -870,6 +870,9 @@ static void shutdown_callback(int fd, short flags, void *arg)
|
||||
*/
|
||||
orte_odls.kill_local_procs(NULL, false);
|
||||
|
||||
/* whack any lingering session directory files from our jobs */
|
||||
orte_session_dir_cleanup(ORTE_JOBID_WILDCARD);
|
||||
|
||||
/* cleanup the triggers */
|
||||
OBJ_DESTRUCT(&orte_exit);
|
||||
|
||||
@ -903,9 +906,6 @@ static void shutdown_callback(int fd, short flags, void *arg)
|
||||
#endif /* __WINDOWS__ */
|
||||
}
|
||||
|
||||
/* whack any lingering session directory files from our jobs */
|
||||
orte_session_dir_cleanup(ORTE_JOBID_WILDCARD);
|
||||
|
||||
/* Finalize and clean up ourselves */
|
||||
ret = orte_finalize();
|
||||
exit(orte_exit_status);
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user