diff options
author | Ingo Molnar <mingo@elte.hu> | 2005-06-17 11:36:36 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-17 10:03:50 -0700 |
commit | caf2857ac6e0ba2651e722f05d5f7d3ec8ef2615 (patch) | |
tree | cb8e51e7c17c0964bdfd29635d51da0124d0dfe8 | |
parent | 97008082eacab047c189028202e055280f799ace (diff) |
[PATCH] timer exit cleanup
Do all timer zapping in exit_itimers.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | kernel/exit.c | 4 | ||||
-rw-r--r-- | kernel/posix-timers.c | 1 |
2 files changed, 2 insertions, 3 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index edaa50b5bbfa..2ef2ad540201 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -811,10 +811,8 @@ 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) { - del_timer_sync(&tsk->signal->real_timer); + if (group_dead) acct_process(code); - } exit_mm(tsk); exit_sem(tsk); diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c index fd316c272260..cabb63fc9e16 100644 --- a/kernel/posix-timers.c +++ b/kernel/posix-timers.c @@ -1197,6 +1197,7 @@ 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); } /* |