Richard Cochran wrote:
> On Wed, Dec 02, 2009 at 02:23:39PM +0100, Gilles Chanteperdrix wrote:
>> This issue has been discussed several times, but never a lot. We have a
>> simple solution: starting with 2.4 (if I remember correctly) xenomai
>> provides clock_settime, so you can simply rely on clock_gettime, and
>> call clock_settime from time to time to resync the Xenomai clock with
>> Linux NTP-enhanced clock. This is not pretty, you get a drift increasing
>> over time, then suddenly been reset. But I guess this has been enough
>> for current users, until now. You control the maximum drift by how often
>> you call clock_settime.
> Well, it looks like I will need to use this method, too, until the
> "real" solution comes along. But that leaves me with more questions:
> 1. My program is written using the native skin, and I need to time
> stamp some data while in primary mode. Can I safely call the posix
> skin's clock_gettime() function from my native thread?
> 2. I will need a non-critical thread to go the gettimeofday() -
> clock_settime() adjustment hack once in a while. Can I safely start a
> both a posix skin thread and a native thread from the same main
Yes. But you should better use __real_clock_gettime than gettimeofday,
since it returns a struct timespec which you may feed into clock_settime
without any further adjustments.
Xenomai-core mailing list