]> err.no Git - linux-2.6/commitdiff
[PATCH] timer exit cleanup
authorIngo Molnar <mingo@elte.hu>
Fri, 17 Jun 2005 09:36:36 +0000 (11:36 +0200)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Fri, 17 Jun 2005 17:03:50 +0000 (10:03 -0700)
Do all timer zapping in exit_itimers.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/exit.c
kernel/posix-timers.c

index edaa50b5bbfaecc36f1e492e28d9b80ef55b5dae..2ef2ad54020177cd355174b8d4a52656edebd6d2 100644 (file)
@@ -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);
index fd316c2722604a866b359548db9659aa5c1eefbc..cabb63fc9e16c5437b6ea879074a9a6c0783cf9d 100644 (file)
@@ -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);
 }
 
 /*