aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2005-06-17 05:36:36 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-17 13:03:50 -0400
commitcaf2857ac6e0ba2651e722f05d5f7d3ec8ef2615 (patch)
treecb8e51e7c17c0964bdfd29635d51da0124d0dfe8
parent97008082eacab047c189028202e055280f799ace (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.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 edaa50b5bbfa..2ef2ad540201 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -811,10 +811,8 @@ fastcall NORET_TYPE void do_exit(long code)
811 acct_update_integrals(tsk); 811 acct_update_integrals(tsk);
812 update_mem_hiwater(tsk); 812 update_mem_hiwater(tsk);
813 group_dead = atomic_dec_and_test(&tsk->signal->live); 813 group_dead = atomic_dec_and_test(&tsk->signal->live);
814 if (group_dead) { 814 if (group_dead)
815 del_timer_sync(&tsk->signal->real_timer);
816 acct_process(code); 815 acct_process(code);
817 }
818 exit_mm(tsk); 816 exit_mm(tsk);
819 817
820 exit_sem(tsk); 818 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)
1197 tmr = list_entry(sig->posix_timers.next, struct k_itimer, list); 1197 tmr = list_entry(sig->posix_timers.next, struct k_itimer, list);
1198 itimer_delete(tmr); 1198 itimer_delete(tmr);
1199 } 1199 }
1200 del_timer_sync(&sig->real_timer);
1200} 1201}
1201 1202
1202/* 1203/*