summaryrefslogtreecommitdiff
path: root/src/timesync/timesyncd-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/timesync/timesyncd-manager.c')
-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 */