[PATCH] revert "timer exit cleanup"
authorAndrew Morton <akpm@osdl.org>
Thu, 4 Aug 2005 23:49:32 +0000 (16:49 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Thu, 4 Aug 2005 23:57:49 +0000 (16:57 -0700)
Revert this June 17 patch: it broke persistence of timers across execve().

Cc: Roland McGrath <roland@redhat.com>
Cc: george anzinger <george@mvista.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/exit.c
kernel/posix-timers.c

index 9d1b10ed0135139b8514f829f345c6525699db50..5b0fb9f09f212d05642dd343be2692a2b0a039b7 100644 (file)
@@ -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);
index 10b2ad749d146de67f2e210adb5a4fb4846ba8c5..38798a2ff994e96c017010b8c2c62db578fe2002 100644 (file)
@@ -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);
 }
 
 /*