X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet.c;h=aae73969001577a9f4110adcc528db47b90405d9;hb=79e9a4f743b7b59fed968575f6b36171cf4a0063;hp=67603f7d277f66969e5a63d48013c71d0aee4c01;hpb=8ddcad5fa1908727f68abb461b615c666616064f;p=tinc diff --git a/src/net.c b/src/net.c index 67603f7d..aae73969 100644 --- a/src/net.c +++ b/src/net.c @@ -3,6 +3,7 @@ Copyright (C) 1998-2005 Ivo Timmermans, 2000-2011 Guus Sliepen 2006 Scott Lamb + 2011 Loïc Grenié This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -166,14 +167,14 @@ static void timeout_handler(int fd, short events, void *event) { next = node->next; c = node->data; - if(c->last_ping_time + pingtimeout < now) { + if(c->last_ping_time + pingtimeout <= now) { if(c->status.active) { if(c->status.pinged) { ifdebug(CONNECTIONS) logger(LOG_INFO, "%s (%s) didn't respond to PING in %ld seconds", c->name, c->hostname, now - c->last_ping_time); terminate_connection(c, true); continue; - } else if(c->last_ping_time + pinginterval < now) { + } else if(c->last_ping_time + pinginterval <= now) { send_ping(c); } } else { @@ -243,6 +244,7 @@ static void sigterm_handler(int signal, short events, void *data) { static void sighup_handler(int signal, short events, void *data) { logger(LOG_NOTICE, "Got %s signal", strsignal(signal)); + reopenlogger(); reload_configuration(); }