lkml.org 
[lkml]   [2012]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
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
milliseconds.


\
 
 \ /
  Last update: 2012-01-28 00:23    [from the cache]
©2003-2011 Jasper Spaans