X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet.c;h=1ce8071d9d0216fb0cadc68586fe0d3560ca5508;hb=c46bdbde18629f0a0613c776c13a79fea0ec6093;hp=91b93056e44c1573a7f4eef6f71a01fb8687bfe7;hpb=53036a58790168e18f524bd923f9a7d34691ba2d;p=tinc diff --git a/src/net.c b/src/net.c index 91b93056..1ce8071d 100644 --- a/src/net.c +++ b/src/net.c @@ -36,10 +36,6 @@ #include "subnet.h" #include "xalloc.h" -#ifdef HAVE_RESOLV_H -#include -#endif - int contradicting_add_edge = 0; int contradicting_del_edge = 0; static int sleeptime = 10; @@ -154,6 +150,7 @@ static void timeout_handler(void *data) { if(c->last_ping_time + pingtimeout <= now.tv_sec) { if(c->edge) { + try_tx(c->node, false); if(c->status.pinged) { logger(DEBUG_CONNECTIONS, LOG_INFO, "%s (%s) didn't respond to PING in %ld seconds", c->name, c->hostname, (long)now.tv_sec - c->last_ping_time); } else if(c->last_ping_time + pinginterval <= now.tv_sec) { @@ -170,9 +167,10 @@ static void timeout_handler(void *data) { } terminate_connection(c, c->edge); } + } - timeout_set(data, &(struct timeval){pingtimeout, rand() % 100000}); + timeout_set(data, &(struct timeval){1, rand() % 100000}); } static void periodic_handler(void *data) { @@ -311,9 +309,6 @@ static void sighup_handler(void *data) { static void sigalrm_handler(void *data) { logger(DEBUG_ALWAYS, LOG_NOTICE, "Got %s signal", strsignal(((signal_t *)data)->signum)); -#ifdef HAVE_DECL_RES_INIT - res_init(); -#endif retry(); } #endif