Clearout the startup_timeout event if the job did in fact start. Have ORTE_TERMINATE use the job state macro so debug will show where it was called
This commit was SVN r26334.
Этот коммит содержится в:
родитель
a753fe91f7
Коммит
71805bf7e4
@ -306,12 +306,15 @@ void orte_plm_base_complete_setup(int fd, short args, void *cbdata)
|
|||||||
static void timer_cb(int fd, short event, void *cbdata)
|
static void timer_cb(int fd, short event, void *cbdata)
|
||||||
{
|
{
|
||||||
orte_timer_t *tm = (orte_timer_t*)cbdata;
|
orte_timer_t *tm = (orte_timer_t*)cbdata;
|
||||||
|
orte_job_t *jdata = (orte_job_t*)tm->payload;
|
||||||
|
|
||||||
|
if (NULL == jdata || jdata->state < ORTE_JOB_STATE_RUNNING) {
|
||||||
|
/* declare launch failed */
|
||||||
|
ORTE_ACTIVATE_JOB_STATE(jdata, ORTE_JOB_STATE_FAILED_TO_START);
|
||||||
|
}
|
||||||
|
|
||||||
/* free event */
|
/* free event */
|
||||||
OBJ_RELEASE(tm);
|
OBJ_RELEASE(tm);
|
||||||
|
|
||||||
/* declare launch failed */
|
|
||||||
ORTE_ACTIVATE_JOB_STATE(NULL, ORTE_JOB_STATE_FAILED_TO_START);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void orte_plm_base_launch_apps(int fd, short args, void *cbdata)
|
void orte_plm_base_launch_apps(int fd, short args, void *cbdata)
|
||||||
@ -373,7 +376,7 @@ void orte_plm_base_launch_apps(int fd, short args, void *cbdata)
|
|||||||
* defined time, then we know things have failed
|
* defined time, then we know things have failed
|
||||||
*/
|
*/
|
||||||
if (0 < orte_startup_timeout) {
|
if (0 < orte_startup_timeout) {
|
||||||
ORTE_DETECT_TIMEOUT(orte_startup_timeout, 1000, 10000000, timer_cb, NULL);
|
ORTE_DETECT_TIMEOUT(orte_startup_timeout, 1000, 10000000, timer_cb, jdata);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* cleanup */
|
/* cleanup */
|
||||||
|
@ -65,8 +65,7 @@ ORTE_DECLSPEC extern int orte_state_base_output;
|
|||||||
#define ORTE_TERMINATE(x) \
|
#define ORTE_TERMINATE(x) \
|
||||||
do { \
|
do { \
|
||||||
ORTE_UPDATE_EXIT_STATUS(x); \
|
ORTE_UPDATE_EXIT_STATUS(x); \
|
||||||
orte_state.activate_job_state(NULL, \
|
ORTE_ACTIVATE_JOB_STATE(NULL, ORTE_JOB_STATE_FORCED_EXIT); \
|
||||||
ORTE_JOB_STATE_FORCED_EXIT); \
|
|
||||||
} while(0);
|
} while(0);
|
||||||
|
|
||||||
#define ORTE_ACTIVATE_JOB_STATE(j, s) \
|
#define ORTE_ACTIVATE_JOB_STATE(j, s) \
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user