diff options
Diffstat (limited to 'doc/threads.texi')
-rw-r--r-- | doc/threads.texi | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/doc/threads.texi b/doc/threads.texi index 6dd2226..3219f2d 100644 --- a/doc/threads.texi +++ b/doc/threads.texi @@ -52,3 +52,29 @@ configuration file statement (@pxref{daemon, max-connections}). Processes a triplet. A separate thread of this type is started by @samp{WY_listener} for each valid triplet it detects. @end table + +@menu +* Event timestamps in WY_stat:: +@end menu + + +@node Event timestamps in WY_stat +@unnumberedsec Event timestamps in WY_stat + +On GNU/Linux systems the events generated by the @samp{WY_stat} thread +may appear to happen one second prior to their scheduled time. This +happens if the software reporting the events uses @code{time}(2) +instead of @code{gettimeofday}(2) for time reporting. The internal +timekeeping mechanism of the linux kernel is designed so that the +number of seconds returned by @code{time} may be one less than the +@code{tv_sec} value after return from @code{gettimeofday}, if the two +functions would be called the same instant@footnote{See +@uref{https://stackoverflow.com/questions/22917318/time-and-gettimeofday-return-different-seconds}, +for details}. + +The two known cases are the legacy @command{syslogd} used by default +on Slackware systems, and the @command{Sendmail} MTA. + +Since the results returned by @code{gettimeofday} are more accurate, +it was decided to leave this feature as it is, instead of installing +workarounds of dubious nature just to satisfy older software. |