diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2013-12-16 19:27:07 +0100 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2013-12-16 19:27:07 +0100 |
commit | 4475652054616ded16485341b081abf42cc6c08e (patch) | |
tree | 30b3f62bd4107766630e486cf67b8fcf117f9cd8 /src/resolve.c | |
parent | c91f3ac6acf933a8dd89cca33081cfd4dfeabadc (diff) | |
download | fastd-4475652054616ded16485341b081abf42cc6c08e.tar fastd-4475652054616ded16485341b081abf42cc6c08e.zip |
resolve: save a timestamp in the resolve return to ensure we don't confuse remotes before and after reconfiguration
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/resolve.c b/src/resolve.c index 9631c48..8dcdb2d 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -34,6 +34,7 @@ typedef struct resolv_arg { fastd_context_t *ctx; fastd_remote_t *remote; + struct timespec resolve_time; char *hostname; fastd_peer_address_t constraints; } resolv_arg_t; @@ -71,7 +72,8 @@ static void* resolve_peer(void *varg) { } fastd_resolve_return_t ret = { - .remote = arg->remote + .remote = arg->remote, + .resolve_time = arg->resolve_time, }; if (!error) { @@ -113,6 +115,7 @@ void fastd_resolve_peer(fastd_context_t *ctx, fastd_peer_t *peer, fastd_remote_t arg->ctx = ctx; arg->remote = remote; + arg->resolve_time = ctx->now; arg->hostname = strdup(remote->config->hostname); arg->constraints = remote->config->address; |