1
1

Ensure we terminate properly on non-zero exit status

This commit was SVN r24859.
Этот коммит содержится в:
Ralph Castain 2011-07-07 14:33:49 +00:00
родитель fd17f20ed5
Коммит 6496b2f845
2 изменённых файлов: 13 добавлений и 1 удалений

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

@ -670,6 +670,7 @@ int orte_errmgr_hnp_base_global_update_state(orte_jobid_t job,
break;
case ORTE_PROC_STATE_TERMINATED:
case ORTE_PROC_STATE_TERM_NON_ZERO:
case ORTE_PROC_STATE_KILLED_BY_CMD:
orte_errmgr_hnp_update_proc(jdata, proc, state, pid, exit_code);
check_job_complete(jdata);

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

@ -354,6 +354,17 @@ static int update_state(orte_jobid_t job,
}
}
if (ORTE_PROC_STATE_TERM_NON_ZERO == state) {
if (orte_abort_non_zero_exit) {
/* treat this as an abnormal
* termination - no recovery allowed
*/
goto REPORT_ABORT;
}
/* treat this as normal termination */
goto REPORT_STATE;
}
if (ORTE_PROC_STATE_TERMINATED < state) {
if( jobdat->enable_recovery ) {
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
@ -454,7 +465,7 @@ REPORT_ABORT:
return rc;
}
REPORT_STATE:
/* find this proc in the local children so we can update its state */
for (item = opal_list_get_first(&orte_local_children);
item != opal_list_get_end(&orte_local_children);