diff --git a/[refs] b/[refs] index d58583699de3..0f1e31fb3206 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e8ed11b9dc07df0134248542ca8e7d40751a6052 +refs/heads/master: c306895167c8384b88bc02945a0d226a04218fa5 diff --git a/trunk/kernel/exit.c b/trunk/kernel/exit.c index 9d1b10ed0135..5b0fb9f09f21 100644 --- a/trunk/kernel/exit.c +++ b/trunk/kernel/exit.c @@ -829,8 +829,10 @@ fastcall NORET_TYPE void do_exit(long code) acct_update_integrals(tsk); update_mem_hiwater(tsk); group_dead = atomic_dec_and_test(&tsk->signal->live); - if (group_dead) + if (group_dead) { + del_timer_sync(&tsk->signal->real_timer); acct_process(code); + } exit_mm(tsk); exit_sem(tsk); diff --git a/trunk/kernel/posix-timers.c b/trunk/kernel/posix-timers.c index 10b2ad749d14..38798a2ff994 100644 --- a/trunk/kernel/posix-timers.c +++ b/trunk/kernel/posix-timers.c @@ -1166,7 +1166,6 @@ void exit_itimers(struct signal_struct *sig) tmr = list_entry(sig->posix_timers.next, struct k_itimer, list); itimer_delete(tmr); } - del_timer_sync(&sig->real_timer); } /*