summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2005-06-17 11:36:36 +0200
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-17 10:03:50 -0700
commitcaf2857ac6e0ba2651e722f05d5f7d3ec8ef2615 (patch)
treecb8e51e7c17c0964bdfd29635d51da0124d0dfe8
parent97008082eacab047c189028202e055280f799ace (diff)
downloadlinux-3.10-caf2857ac6e0ba2651e722f05d5f7d3ec8ef2615.tar.gz
linux-3.10-caf2857ac6e0ba2651e722f05d5f7d3ec8ef2615.tar.bz2
linux-3.10-caf2857ac6e0ba2651e722f05d5f7d3ec8ef2615.zip
[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.c4
-rw-r--r--kernel/posix-timers.c1
2 files changed, 2 insertions, 3 deletions
diff --git a/kernel/exit.c b/kernel/exit.c
index edaa50b5bbf..2ef2ad54020 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 fd316c27226..cabb63fc9e1 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);
}
/*