[Git][NTPsec/ntpsec][master] 4 commits: Improve documentation of the system call interface.

Eric S. Raymond gitlab at mg.gitlab.com
Sun Oct 16 11:26:30 UTC 2016

Eric S. Raymond pushed to branch master at NTPsec / ntpsec

2bd45c41 by Eric S. Raymond at 2016-10-16T07:22:00-04:00
Improve documentation of the system call interface.

- - - - -
9ebbab74 by Matt Selsky at 2016-10-16T07:26:15-04:00
Remove waf references to libntpsim

- - - - -
eefd6dd5 by Matt Selsky at 2016-10-16T07:26:15-04:00
Add missing 'import sys' and import core modules before other modules.

- - - - -
fe3ef0e5 by Matt Selsky at 2016-10-16T07:26:15-04:00

- - - - -

4 changed files:

- contrib/gps-log
- devel/hacking.txt
- devel/tour.txt
- libntp/wscript


--- a/contrib/gps-log
+++ b/contrib/gps-log
@@ -3,10 +3,11 @@
 from __future__ import print_function
-from gps import *
 import time
 from datetime import datetime
+import sys
 import threading
+from gps import *
 gpsd = None #seting the global variable

--- a/devel/hacking.txt
+++ b/devel/hacking.txt
@@ -50,9 +50,9 @@ You can view POSIX-1.2001, with 2004 Corrigendum, online for free here:
 POSIX threads *are* considered part of the standardized API and may be used.
-Here are the non-standardized AIs that may be used:
+Here are the non-standardized APIs that may be used:
-* Eother ntp_adjtime() or the older BSD adjtime(2).
+* Either ntp_adjtime() or the older BSD adjtime(2).
 * Berkeley sockets and the IPv6 API defined in RFC2493 and RFC2553.

--- a/devel/tour.txt
+++ b/devel/tour.txt
@@ -167,15 +167,21 @@ quite a while before NTPsec removed it.
 == System call interface and the PLL ==
 All of ntpd's clock management is done through four system calls:
-clock_gettime(2), clock_settime(2), and either ntp_adjtime(2) or (on
-some systems, including Linux) adjtimex(2), or the older BSD
-adjtime(2) call.
+clock_gettime(2), clock_settime(2), and either ntp_adjtime(2) or the
+older BSD adjtime(2) call.  For ntp_adjtime(), ntpd actually uses a
+thin wrapper that hides the difference between systems with
+nanosecond-precision and those with only microsecond precision;
+internally, ntpd does all its calculations with nanosecond precision.
 The clock_gettime(2) and clock_settime(2) calls are standardized in
-POSIX; ntp_adjtime(2) and adjtimex(2) are not, exhibiting some
-variability in behavior across platforms.  Where adjtimex(2) exists
-(notably under Linux), ntp_adjtime(2) is implemented as a thin
-userspace wrapper around it.
+POSIX; ntp_adjtime(2) is not not, exhibiting some variability in
+behavior across platforms (in particular as to whether it supports
+nanosecond or microsecond precision).
+Where adjtimex(2) exists (notably under Linux), both ntp_adjtime()
+and adjtime() are implemented as library wrappers around it.  The
+need to implement adjtime() is why the Linux version of struct timex
+has a (non-portable) 'time' member;
 There is some confusion abroad about this interface because it has
 left a trail of abandoned experiments behind it.

--- a/libntp/wscript
+++ b/libntp/wscript
@@ -46,10 +46,6 @@ def build(ctx):
-	source_libntpsim = [
-		"systime_s.c"
-	]
 	libntp_source_systime = [

View it on GitLab: https://gitlab.com/NTPsec/ntpsec/compare/84c31bb5dedc528fe14d7c18346068bf32b99989...fe3ef0e56ac867e45312ad3b2dc1ebde9365e404
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ntpsec.org/pipermail/vc/attachments/20161016/1e354dcd/attachment.html>

More information about the vc mailing list