![]() | |||||||||||||
Messages in this thread |
> > I'm not clear on how the already-queued case could ever happen. Do we > > really need that check at all? It shouldn't be possible for the timer to > > be firing when it's already queued, because it won't have been reloaded. > > It only reloads via do_schedule_next_timer after it's dequeued, or because > > a 1 return value said it never was queued. > > This is true for the posix timers, but posix cpu timers case is different. > Note the run_posix_cpu_timers()->cpu_timer_fire(). Really? It too reloads the CPU timer only when posix_timer_event returns nonzero, and otherwise expects do_schedule_next_timer to be called from signal dequeuing and call posix_cpu_timer_schedule to do the reload. I must be missing something (having written the code I am easily deluded into thinking I know what it's doing). Thanks, Roland | ||||||||||||
| Last update: 2008-02-28 21:19 [W:0.615 / U:0.300 seconds] ©2003-2008 Jasper Spaans | |||||||||||||