Source: MontaVista Software, Inc. George Anzinger Type: Defect Fix Description: The changes to itimer of late (after 2.6.11) cause itimers not to survive the exec* calls. Standard says they should. Signed-off-by: George Anzinger exit.c | 1 + posix-timers.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) Index: linux-2.6.13-rc/kernel/exit.c =================================================================== --- linux-2.6.13-rc.orig/kernel/exit.c +++ linux-2.6.13-rc/kernel/exit.c @@ -794,6 +794,7 @@ fastcall NORET_TYPE void do_exit(long co } tsk->flags |= PF_EXITING; + del_timer_sync(&tsk->signal->real_timer); /* * Make sure we don't try to process any timer firings Index: linux-2.6.13-rc/kernel/posix-timers.c =================================================================== --- linux-2.6.13-rc.orig/kernel/posix-timers.c +++ linux-2.6.13-rc/kernel/posix-timers.c @@ -1183,10 +1183,10 @@ void exit_itimers(struct signal_struct * struct k_itimer *tmr; while (!list_empty(&sig->posix_timers)) { - tmr = list_entry(sig->posix_timers.next, struct k_itimer, list); + tmr = list_entry(sig->posix_timers.next, + struct k_itimer, list); itimer_delete(tmr); } - del_timer_sync(&sig->real_timer); } /*