Hi,
I think there is a problem with the Solaris version of Exim.

The symptoms I've seen are negative RT log entries and negative $message_age 
values.
But there maybe more. With a SIGHUP the negative values disappear (temporarily).

I've read the sources and manual pages and maybe this is the reason:

Exim calculates an offset of the CLOCK_MONOTONIC timer once at the start of the 
program
and this offset is used to calculate the real receive time of an incoming 
message.

This is fine if CLOCK_REALTIME and CLOCK_MONOTONIC timers are both updated by 
adjtime
or other calls (e.g. via ntpd/ntpdate). This is the case with Linux and AFAIK 
this also
applies to CLOCK_BOOTTIME. On Solaris CLOCK_MONOTONIC isn't updated by clock 
drifts.

Thus, depending on the clock drifts of a particuliar system,
the offset may become wrong in a long running process.

There seems to be no equivalent to the Linux variant of CLOCK_MONOTONIC on 
Solaris.
Only for the opposite direction (see CLOCK_MONOTONIC_RAW on Linux).

Martin

----------------------------------------------------------------------
Martin Preen, Universität Freiburg, Institut für Informatik
Georges-Koehler-Allee 52, Raum EG-006, 79110 Freiburg, Germany

phone: ++49 761 203-8250    pr...@informatik.uni-freiburg.de
fax: ++49 761 203-8242      swt.informatik.uni-freiburg.de/staff/preen

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to