do_schedule_next_timer && si_overrun (Was: [PATCH] posix-timers: Do not modify an already queued timer signal)

From: Oleg Nesterov
Date: Mon Jul 21 2008 - 11:36:40 EST


On 07/21, Oleg Nesterov wrote:
>
> On 07/20, Roland McGrath wrote:
> >
> > You do need to clear si_overrun there to be correct in the usual case
> > (not already queued).
>
> Indeed, I missed that. Can't we do this in send_sigqueue() ?

The more I look at the code, the more I'm getting confused...

Suppose that posix_timer_event()->send_sigqueue() increments info.si_overrun.
But (in general) it is not reported to the user-space, do_schedule_next_timer()
does:

info->si_overrun = timr->it_overrun_last;

shouldn't it do

info->si_overrun += timr->it_overrun_last;

instead?

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/