diff --git a/orte/mca/errmgr/base/errmgr_base_fns.c b/orte/mca/errmgr/base/errmgr_base_fns.c index d83705dadb..8f866a0e9c 100644 --- a/orte/mca/errmgr/base/errmgr_base_fns.c +++ b/orte/mca/errmgr/base/errmgr_base_fns.c @@ -124,8 +124,12 @@ int orte_errmgr_base_abort(int error_code, char *fmt, ...) orte_session_dir_finalize(ORTE_PROC_MY_NAME); } - /* abnormal exit */ - orte_ess.abort(error_code, true); + /* if a critical connection failed, exit without dropping a core */ + if (ORTE_ERR_CONNECTION_FAILED == error_code) { + orte_ess.abort(error_code, false); + } else { + orte_ess.abort(error_code, true); + } return ORTE_SUCCESS; } diff --git a/orte/mca/oob/tcp/oob_tcp_peer.c b/orte/mca/oob/tcp/oob_tcp_peer.c index e67568f0e9..d2f94d2a7f 100644 --- a/orte/mca/oob/tcp/oob_tcp_peer.c +++ b/orte/mca/oob/tcp/oob_tcp_peer.c @@ -609,7 +609,7 @@ void mca_oob_tcp_peer_close(mca_oob_tcp_peer_t* peer) * tcp OOB */ OPAL_THREAD_UNLOCK(&peer->peer_lock); - orte_errmgr.abort(1, NULL); + orte_errmgr.abort(ORTE_ERR_CONNECTION_FAILED, NULL); } }