|
17 | 17 | * Copyright (c) 2013-2017 Intel, Inc. All rights reserved. |
18 | 18 | * Copyright (c) 2015-2017 Research Organization for Information Science |
19 | 19 | * and Technology (RIST). All rights reserved. |
| 20 | + * Copyright (c) 2017 IBM Corporation. All rights reserved. |
20 | 21 | * $COPYRIGHT$ |
21 | 22 | * |
22 | 23 | * Additional copyrights may follow |
@@ -3071,8 +3072,10 @@ static void stack_trace_recv(int status, orte_process_name_t* sender, |
3071 | 3072 | } |
3072 | 3073 | ++ntraces; |
3073 | 3074 | if (orte_process_info.num_procs == ntraces) { |
3074 | | - /* cancel the timeout */ |
3075 | | - OBJ_DESTRUCT(&stack_trace_timer); |
| 3075 | + if( orte_stack_trace_wait_timeout > 0 ) { |
| 3076 | + /* cancel the timeout */ |
| 3077 | + OBJ_DESTRUCT(&stack_trace_timer); |
| 3078 | + } |
3076 | 3079 | /* abort the job */ |
3077 | 3080 | ORTE_ACTIVATE_JOB_STATE(NULL, ORTE_JOB_STATE_ALL_JOBS_COMPLETE); |
3078 | 3081 | /* set the global abnormal exit flag */ |
@@ -3173,12 +3176,14 @@ void orte_timeout_wakeup(int sd, short args, void *cbdata) |
3173 | 3176 | OBJ_RELEASE(sig); |
3174 | 3177 | /* we will terminate after we get the stack_traces, but set a timeout |
3175 | 3178 | * just in case we never hear back from everyone */ |
3176 | | - OBJ_CONSTRUCT(&stack_trace_timer, orte_timer_t); |
3177 | | - opal_event_evtimer_set(orte_event_base, |
3178 | | - stack_trace_timer.ev, stack_trace_timeout, NULL); |
3179 | | - opal_event_set_priority(stack_trace_timer.ev, ORTE_ERROR_PRI); |
3180 | | - stack_trace_timer.tv.tv_sec = 30; |
3181 | | - opal_event_evtimer_add(stack_trace_timer.ev, &stack_trace_timer.tv); |
| 3179 | + if( orte_stack_trace_wait_timeout > 0 ) { |
| 3180 | + OBJ_CONSTRUCT(&stack_trace_timer, orte_timer_t); |
| 3181 | + opal_event_evtimer_set(orte_event_base, |
| 3182 | + stack_trace_timer.ev, stack_trace_timeout, NULL); |
| 3183 | + opal_event_set_priority(stack_trace_timer.ev, ORTE_ERROR_PRI); |
| 3184 | + stack_trace_timer.tv.tv_sec = orte_stack_trace_wait_timeout; |
| 3185 | + opal_event_evtimer_add(stack_trace_timer.ev, &stack_trace_timer.tv); |
| 3186 | + } |
3182 | 3187 | return; |
3183 | 3188 | } |
3184 | 3189 | giveup: |
|
0 commit comments