On 20/02/2019 4:18 a.m., Mantas
Mikulėnas wrote:
What's the simplest
way to test if systemd-timesyncd is currently synced
to the network, from within an embedded application
(running with root
privileges)? Is there some single dbus transaction that
will give me this
answer?
Call adjtimex(2) and check whether buf.status has
STA_UNSYNC (should be unset when clock is synchronized).
The systemd-timedated helper service
(org.freedesktop.timedate1) exposes the same flag as
the org.freedesktop.timedate1.NTPSynchronized property
on /org/freedesktop/timedate1.
(That said, this deliberately won't work if you've
configured timesyncd to use "local time" instead of UTC,
as timesyncd doesn't want to activate RTC updates in
that mode.)
timesyncd itself exposes several properties including
the actual received NTPMessage, but I'm not sure if it's
as good as an explicit indication. It does emit update
signals however.
--
Some (old?) systems do not have adjtimex:
$
adjtimex
-bash:
adjtimex: command not found
$
ntpstat
unsynchronised
polling server every 8 s
|
_______________________________________________
systemd-devel mailing list
systemd-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/systemd-devel