On 26/08/2021 14:08, Martin Preen via Exim-users wrote:
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.

... if _POSIX_MONOTONIC_CLOCK exists.  I assume it does on your platform.

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.

But if your clock really is monotonic and not adjusted by adjtime (or similar),
it should never go backwards and you shouldn't get the symptoms you are seeing.

I'm worried that somewhere a different time syscall is being used.

--
Cheers,
  Jeremy

--
## 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