Need to delay registration of the waitpid callback until after the fork/exec of the child process. Fix the bit testing of process type so that the proper state component gets selected for HNP.
Этот коммит содержится в:
родитель
7a9b9325a8
Коммит
f1483eb2dc
@ -1035,12 +1035,11 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
|
||||
}
|
||||
}
|
||||
|
||||
orte_wait_cb(child, odls_base_default_wait_local_proc, NULL);
|
||||
if (ORTE_SUCCESS != (rc = fork_local(app, child, app->env, jobdat))) {
|
||||
orte_wait_cb_cancel(child);
|
||||
child->exit_code = ORTE_ERR_SILENT; /* error message already output */
|
||||
ORTE_ACTIVATE_PROC_STATE(&child->name, ORTE_PROC_STATE_FAILED_TO_START);
|
||||
}
|
||||
orte_wait_cb(child, odls_base_default_wait_local_proc, NULL);
|
||||
/* if we indexed the argv, we need to restore it to
|
||||
* its original form
|
||||
*/
|
||||
|
@ -75,7 +75,7 @@ typedef uint32_t orte_proc_type_t;
|
||||
#define ORTE_PROC_IS_DVM (ORTE_PROC_DVM & orte_process_info.proc_type)
|
||||
#define ORTE_PROC_IS_IOF_ENDPT (ORTE_PROC_IOF_ENDPT & orte_process_info.proc_type)
|
||||
#define ORTE_PROC_IS_SCHEDULER (ORTE_PROC_SCHEDULER & orte_process_info.proc_type)
|
||||
#define ORTE_PROC_IS_MASTER (ORTE_PROC_MASTER & orte_process_info.proc_type)
|
||||
#define ORTE_PROC_IS_MASTER (0x4000 & orte_process_info.proc_type)
|
||||
|
||||
|
||||
/**
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user