2008-07-23 16:48:55

by Oleg Nesterov

[permalink] [raw]
Subject: [PATCH 2/2] posix-timers: do_schedule_next_timer: fix the setting of ->si_overrun

do_schedule_next_timer() sets info->si_overrun = timr->it_overrun_last,
this discards the already accumulated overruns.

Signed-off-by: Oleg Nesterov <[email protected]>

--- 26-rc2/kernel/posix-timers.c~2_SNT_OVERRUN 2008-07-23 15:04:18.000000000 +0400
+++ 26-rc2/kernel/posix-timers.c 2008-07-23 20:24:05.000000000 +0400
@@ -289,7 +289,7 @@ void do_schedule_next_timer(struct sigin
else
schedule_next_timer(timr);

- info->si_overrun = timr->it_overrun_last;
+ info->si_overrun += timr->it_overrun_last;
}

if (timr)