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;
|
break;
|
||||||
|
|
||||||
case ORTE_PROC_STATE_TERMINATED:
|
case ORTE_PROC_STATE_TERMINATED:
|
||||||
|
case ORTE_PROC_STATE_TERM_NON_ZERO:
|
||||||
case ORTE_PROC_STATE_KILLED_BY_CMD:
|
case ORTE_PROC_STATE_KILLED_BY_CMD:
|
||||||
orte_errmgr_hnp_update_proc(jdata, proc, state, pid, exit_code);
|
orte_errmgr_hnp_update_proc(jdata, proc, state, pid, exit_code);
|
||||||
check_job_complete(jdata);
|
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 (ORTE_PROC_STATE_TERMINATED < state) {
|
||||||
if( jobdat->enable_recovery ) {
|
if( jobdat->enable_recovery ) {
|
||||||
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
|
OPAL_OUTPUT_VERBOSE((5, orte_errmgr_base.output,
|
||||||
@ -454,7 +465,7 @@ REPORT_ABORT:
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
REPORT_STATE:
|
||||||
/* find this proc in the local children so we can update its state */
|
/* find this proc in the local children so we can update its state */
|
||||||
for (item = opal_list_get_first(&orte_local_children);
|
for (item = opal_list_get_first(&orte_local_children);
|
||||||
item != opal_list_get_end(&orte_local_children);
|
item != opal_list_get_end(&orte_local_children);
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user