1
1

As Tim pointed out we don't want to call orte_finalize in orte_abort.

However we do want to do a bit of cleanup on the node before we exit,
specificly clean out the session directory. I also had a couple of the
subsystems that don't depend upon peers (which is key) clean up as well.

Pedantic formatting issue in oob_tcp.h

This commit was SVN r7387.
Этот коммит содержится в:
Josh Hursey 2005-09-15 17:13:13 +00:00
родитель 789d49d613
Коммит 9d5af5f926
2 изменённых файлов: 28 добавлений и 2 удалений

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

@ -153,6 +153,7 @@ static inline uint64_t ntoh64(uint64_t val)
* when process names are used as indices. * when process names are used as indices.
*/ */
int mca_oob_tcp_process_name_compare(const orte_process_name_t* n1, const orte_process_name_t* n2); int mca_oob_tcp_process_name_compare(const orte_process_name_t* n1, const orte_process_name_t* n2);
/** /**
* Obtain contact information for this host (e.g. <ipaddress>:<port>) * Obtain contact information for this host (e.g. <ipaddress>:<port>)
*/ */

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

@ -23,6 +23,10 @@
#include "include/constants.h" #include "include/constants.h"
#include "runtime/runtime.h" #include "runtime/runtime.h"
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/runtime/opal_progress.h"
#include "opal/event/event.h"
#include "orte/util/session_dir.h"
#include "orte/util/sys_info.h"
int orte_abort(int status, char *fmt, ...) int orte_abort(int status, char *fmt, ...)
@ -42,6 +46,27 @@ int orte_abort(int status, char *fmt, ...)
/* Exit - do NOT do normal finalize as this will very likely /* Exit - do NOT do normal finalize as this will very likely
* hang the process. We are aborting due to an abnormal condition * hang the process. We are aborting due to an abnormal condition
* that precludes normal cleanup */ * that precludes normal cleanup
*
* We do need to do the following bits to make sure we leave a
* clean environment. Taken from orte_finalize():
* - Assume errmgr cleans up child processes before we exit.
*/
/* - Turn of progress engine */
opal_progress_finalize();
/* - Turn off event loop */
opal_event_fini();
/* - Clean up session directory */
orte_session_dir_finalize(orte_process_info.my_name);
/* - Clean out the global structures (no necessary, but good practice) */
orte_sys_info_finalize();
orte_proc_info_finalize();
orte_univ_info_finalize();
/* Now Exit */
exit(status); exit(status);
} }