summaryrefslogtreecommitdiff
path: root/src/timesync/timesyncd-manager.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2018-12-21 22:06:22 +0100
committerMichael Biebl <biebl@debian.org>2018-12-21 22:06:22 +0100
commit6e866b331d7cd4a5e0759dd160dea6edabd3678e (patch)
tree4d24c1ffe4ae946f04d8910956090e8d13aecd9a /src/timesync/timesyncd-manager.c
parentb012e92123bdc9fa10c2f079ec5bd9313b23e21a (diff)
downloadsystemd-6e866b331d7cd4a5e0759dd160dea6edabd3678e.tar.gz
New upstream version 240
Diffstat (limited to 'src/timesync/timesyncd-manager.c')
-rw-r--r--src/timesync/timesyncd-manager.c33
1 files changed, 15 insertions, 18 deletions
diff --git a/src/timesync/timesyncd-manager.c b/src/timesync/timesyncd-manager.c
index 2b731af9e3..4b0696f3a3 100644
--- a/src/timesync/timesyncd-manager.c
+++ b/src/timesync/timesyncd-manager.c
@@ -23,6 +23,7 @@
#include "missing.h"
#include "network-util.h"
#include "ratelimit.h"
+#include "resolve-private.h"
#include "socket-util.h"
#include "string-util.h"
#include "strv.h"
@@ -320,7 +321,7 @@ static int manager_adjust_clock(Manager *m, double offset, int leap_sec) {
}
static bool manager_sample_spike_detection(Manager *m, double offset, double delay) {
- unsigned int i, idx_cur, idx_new, idx_min;
+ unsigned i, idx_cur, idx_new, idx_min;
double jitter;
double j;
@@ -471,10 +472,9 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
break;
}
}
- if (!recv_time) {
- log_error("Invalid packet timestamp.");
- return -EINVAL;
- }
+ if (!recv_time)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "Invalid packet timestamp.");
if (!m->pending) {
log_debug("Unexpected reply. Ignoring.");
@@ -604,7 +604,7 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
m->dest_time = *recv_time;
m->spike = spike;
- log_debug("interval/delta/delay/jitter/drift " USEC_FMT "s/%+.3fs/%.3fs/%.3fs/%+"PRI_TIMEX"ppm%s",
+ log_debug("interval/delta/delay/jitter/drift " USEC_FMT "s/%+.3fs/%.3fs/%.3fs/%+"PRIi64"ppm%s",
m->poll_interval_usec / USEC_PER_SEC, offset, delay, m->samples_jitter, m->drift_freq / 65536,
spike ? " (ignored)" : "");
@@ -629,8 +629,6 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
static int manager_listen_setup(Manager *m) {
union sockaddr_union addr = {};
- static const int tos = IPTOS_LOWDELAY;
- static const int on = 1;
int r;
assert(m);
@@ -651,11 +649,11 @@ static int manager_listen_setup(Manager *m) {
if (r < 0)
return -errno;
- r = setsockopt(m->server_socket, SOL_SOCKET, SO_TIMESTAMPNS, &on, sizeof(on));
+ r = setsockopt_int(m->server_socket, SOL_SOCKET, SO_TIMESTAMPNS, true);
if (r < 0)
- return -errno;
+ return r;
- (void) setsockopt(m->server_socket, IPPROTO_IP, IP_TOS, &tos, sizeof(tos));
+ (void) setsockopt_int(m->server_socket, IPPROTO_IP, IP_TOS, IPTOS_LOWDELAY);
return sd_event_add_io(m->event, &m->event_receive, m->server_socket, EPOLLIN, manager_receive_response, m);
}
@@ -727,8 +725,7 @@ void manager_set_server_address(Manager *m, ServerAddress *a) {
}
}
-static int manager_resolve_handler(sd_resolve_query *q, int ret, const struct addrinfo *ai, void *userdata) {
- Manager *m = userdata;
+static int manager_resolve_handler(sd_resolve_query *q, int ret, const struct addrinfo *ai, Manager *m) {
int r;
assert(q);
@@ -793,7 +790,7 @@ int manager_connect(Manager *m) {
m->event_retry = sd_event_source_unref(m->event_retry);
if (!ratelimit_below(&m->ratelimit)) {
- log_debug("Slowing down attempts to contact servers.");
+ log_debug("Delaying attempts to contact servers.");
r = sd_event_add_time(m->event, &m->event_retry, clock_boottime_or_monotonic(), now(clock_boottime_or_monotonic()) + RETRY_USEC, 0, manager_retry_connect, m);
if (r < 0)
@@ -876,7 +873,7 @@ int manager_connect(Manager *m) {
log_debug("Resolving %s...", m->current_server_name->string);
- r = sd_resolve_getaddrinfo(m->resolve, &m->resolve_query, m->current_server_name->string, "123", &hints, manager_resolve_handler, m);
+ r = resolve_getaddrinfo(m->resolve, &m->resolve_query, m->current_server_name->string, "123", &hints, manager_resolve_handler, NULL, m);
if (r < 0)
return log_error_errno(r, "Failed to create resolver: %m");
@@ -1101,10 +1098,10 @@ int manager_new(Manager **ret) {
if (r < 0)
return r;
- sd_event_add_signal(m->event, NULL, SIGTERM, NULL, NULL);
- sd_event_add_signal(m->event, NULL, SIGINT, NULL, NULL);
+ (void) sd_event_add_signal(m->event, NULL, SIGTERM, NULL, NULL);
+ (void) sd_event_add_signal(m->event, NULL, SIGINT, NULL, NULL);
- sd_event_set_watchdog(m->event, true);
+ (void) sd_event_set_watchdog(m->event, true);
r = sd_resolve_default(&m->resolve);
if (r < 0)