[ntp:questions] ntpd code

Kemal Oral CANSIZLAR ocansizlar at comcast.net
Wed Mar 23 16:46:49 UTC 2005

Hi, Thanks for reply,

<mayer at gis.net> wrote in message 
news:mailman.48.1111595272.588.questions at lists.ntp.isc.org...
> ----- Original Message Follows -----
>> Hi,
>> I am trying to modify some portion of NTP source code to maintain a
>> high  resolution, precise (as far as NTP goes) logical clock instead
>> of modifying  the system clock of the user (as it may not have
>> necessary privileges doing  so)... You can view it as intercepting the
>> system calls from NTP to  manipulate a software clock; I am not sure
>> how successful it would be... The  development and testing environment
>> is strictly Windows...
> I'm not sure I understand this at all. Why wouldn't you be running this
> as a service with the right privileges? If you want to intercept
> system calls you probably need privileges anyway (I haven't looked at
> the code to verify this). ntpd IS a high resolution precise logical
> clock
> already. What is it that you are trying to achieve?

OK, What I am trying to do is to prevent updating the SYSTEM clock, but 
instead updating an APPLICATION level clock (nothing but a 64 bit variable). 
My aim is to collect event data from various users using the application I 
am developing, so I will need a way to synchronize the event timestamps to 
reflect almost exact times the events occured. But users may not have the 
privilege to update the system clock in their machines, so I am simulating 
that through manipulating a high level clock. I am not defending this is the 
best way to do, but I really couldnot think of any other way doing so. Any 
comments are welcomed and highly appreciated!

>> I have observed two points in the source code by now...
>> Is there a reason for the latest 4.2.0 version not using ClockThread
>> (in  nt_clockstuff.c) for clock interpolation (high resolution clock
>> read)? I  couldnot find a place calling StartClockThread()...
>> Also, I believe developers/maintainers are already aware, but I am
>> guessing  at method service_exit() in ntpd.c source file, the IF logic
>> should read
>> (!debug && NoWinService == FALSE)
>> otherwise, it would result in error if we were to start the ntpd so as
>> not  to run as a Windows service.
> You appear to be looking at a rather old version of the source code.
> You should get the latest snapshot and use that. StartClockThread()
> is in ntclockstuff.c and that logical statement is in ntservice.c in
> service_exit. It's not in ntpd.c. The condition is: if (!foreground)
> rather than the above.

Oh, I actually downloaded the source code from 
There says the latest (stable?) version is 4.2.0 as of 2003/10/15. I would 
appreciate if you could give me a link to the latest code. However, 
stability is also important in my case...

Thank you!

> Danny
>> Regards,
>> -Kemal.
>> _______________________________________________
>> questions mailing list
>> questions at lists.ntp.isc.org
>> https://lists.ntp.isc.org/mailman/listinfo/questions 

More information about the questions mailing list