[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4F232AA4.5070208@lorez.org>
Date: Fri, 27 Jan 2012 14:52:20 -0800
From: Bob Richmond <bob@...ez.org>
To: linux-kernel@...r.kernel.org
Subject: Real 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists