[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.020 / U:6.156 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site