Ensure we terminate properly on non-zero exit status
This commit was SVN r24859.
Этот коммит содержится в:
родитель
fd17f20ed5
Коммит
6496b2f845
@ -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);
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user