[lkml]   [2012]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectReal time clock update notification
Is there any kind of facility for a process that is blocking in any one 
of the event notification system calls (select/poll/epoll_wait) to be
unblocked in the event that the realtime clock has been updated? For
instance, say I want to fire off an event at the exact moment that the
realtime clock flips to 2pm. I first query the realtime clock via
clock_gettime(CLOCK_REALTIME), and know that in 3 hours, it will be 2pm
and I want to unblock at that moment. So I block in epoll_wait for 3 hours.

Then ntpd decides that the rtc is way off, and updates the current time
to 1:30, and I should now be unblocking 30 minutes from now. However, my
process can't know that this occurred and I should requery the rtc to
find out how long I need to sleep *now*. It looks like crond (which
performs a similar task) just wakes itself up every 60 seconds, which
isn't particularly ideal.

If this facility doesn't exist, I'm curious whether something like it
would be feasible to introduce with minimal overhead. I'm unsure how
often ntpd resets the rtc when clock skew is detected, and my process
might be excessively notified whenever the time changes by a few

 \ /
  Last update: 2012-01-28 00:23    [W:0.034 / U:0.096 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site