[ntp:questions] ntpd code
Kemal Oral CANSIZLAR
ocansizlar at comcast.net
Wed Mar 23 17:49:45 UTC 2005
----- Original Message -----
From: <mayer at gis.net>
To: "Kemal Oral CANSIZLAR" <ocansizlar at comcast.net>;
<questions at lists.ntp.isc.org>
Sent: Wednesday, March 23, 2005 9:20 AM
Subject: Re: [ntp:questions] ntpd code
> ----- Original Message Follows -----
>> 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!
> Why not just install ntpd as a service on each of the machines and
> let it do its thing?
> The problem is that once the clock is set it calls
> SetSystemTimeAdjustment()to change the clock and that just makes
> changes to the clock rather than setting the clock to a specific
OK, I understood your point. But I am trying to avoid ANY changes to the
user's PC, so I am just updating (step and slew) an internal variable
through Performance Counter for higher resolution (although it is not
intended for long-term time keeping) without reflecting anything onto
>> >> 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...
> You can't expect stability here since you are altering the code
> anyway. However, I don't think that there's anything unstable about
> this code especially for Windows.
Thank you for the link, I wish I had known it before. I may migrate to
latest code soon.
>> Thank you!
>> > Danny
>> >> Regards,
>> >> -Kemal.
More information about the questions