summaryrefslogtreecommitdiff
path: root/src/timesync
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-03-18 15:53:25 +0100
committerLennart Poettering <lennart@poettering.net>2022-03-18 23:53:31 +0100
commit7cb08ea80f66dbaadfa0350cb09adf155449bcc6 (patch)
treefad7c313c6ede7f93edc6c271800c379f49e7b4c /src/timesync
parentadc07c2bf5338b709c0771e51b78addd5006e54f (diff)
downloadsystemd-7cb08ea80f66dbaadfa0350cb09adf155449bcc6.tar.gz
timesyncd: move stuff that is not about setting the clock out of manager_adjust_clock()
Let's make sure manager_adjust_clock() is purely about setting the clock, and nothing else. Let's clean up logging this way. manager_adjust_clock() now won#t log about errors, but the caller can safely do that, and do with the right log message string.
Diffstat (limited to 'src/timesync')
-rw-r--r--src/timesync/timesyncd-manager.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/timesync/timesyncd-manager.c b/src/timesync/timesyncd-manager.c
index 302f09125f..3ab08a0fd6 100644
--- a/src/timesync/timesyncd-manager.c
+++ b/src/timesync/timesyncd-manager.c
@@ -245,7 +245,6 @@ static int manager_clock_watch_setup(Manager *m) {
static int manager_adjust_clock(Manager *m, double offset, int leap_sec) {
struct timex tmx;
- int r;
assert(m);
@@ -299,13 +298,6 @@ static int manager_adjust_clock(Manager *m, double offset, int leap_sec) {
if (clock_adjtime(CLOCK_REALTIME, &tmx) < 0)
return -errno;
- r = manager_save_time_and_rearm(m);
- if (r < 0)
- return r;
-
- /* If touch fails, there isn't much we can do. Maybe it'll work next time. */
- (void) touch("/run/systemd/timesync/synchronized");
-
m->drift_freq = tmx.freq;
log_debug(" status : %04i %s\n"
@@ -580,6 +572,13 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
r = manager_adjust_clock(m, offset, leap_sec);
if (r < 0)
log_error_errno(r, "Failed to call clock_adjtime(): %m");
+
+ r = manager_save_time_and_rearm(m);
+ if (r < 0)
+ return r;
+
+ /* If touch fails, there isn't much we can do. Maybe it'll work next time. */
+ (void) touch("/run/systemd/timesync/synchronized");
}
/* Save NTP response */