diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2014-01-26 05:17:34 +0100 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2014-01-26 05:17:34 +0100 |
commit | 76d955efa5fcd46fd325015d6cd3a389f8d9bb93 (patch) | |
tree | 69956b73a9ca9f692a5a95759eb7dedffea62e12 /src/resolve.c | |
parent | 9fe7f35ce87dceb368c7ddffd7f6902dca24b97a (diff) | |
download | fastd-76d955efa5fcd46fd325015d6cd3a389f8d9bb93.tar fastd-76d955efa5fcd46fd325015d6cd3a389f8d9bb93.zip |
Get rid of long_ago variable, use timeout helpers
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/resolve.c b/src/resolve.c index 64b1714..ff09094 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -108,12 +108,12 @@ void fastd_resolve_peer(fastd_context_t *ctx, fastd_peer_t *peer, fastd_remote_t if (!peer->config) exit_bug(ctx, "trying to resolve temporary peer"); - if (timespec_after(&remote->last_resolve, &remote->last_resolve_return)) { + if (remote->resolving) { pr_debug(ctx, "not resolving %P as there is already a resolve running", peer); return; } - if (timespec_diff(&ctx->now, &remote->last_resolve) < (int)ctx->conf->min_resolve_interval*1000) { + if (!fastd_timed_out(ctx, &remote->last_resolve_timeout)) { /* last resolve was just a few seconds ago */ return; } @@ -121,7 +121,8 @@ void fastd_resolve_peer(fastd_context_t *ctx, fastd_peer_t *peer, fastd_remote_t pr_verbose(ctx, "resolving host `%s' for peer %P...", remote->config->hostname, peer); fastd_remote_ref(remote); - remote->last_resolve = ctx->now; + remote->last_resolve_timeout = fastd_in_seconds(ctx, ctx->conf->min_resolve_interval); + remote->resolving = true; resolv_arg_t *arg = malloc(sizeof(resolv_arg_t)); |