Ping nodes immediately when receiving SIGALRM.
authorGuus Sliepen <guus@tinc-vpn.org>
Fri, 15 Jan 2010 22:19:08 +0000 (23:19 +0100)
committerGuus Sliepen <guus@tinc-vpn.org>
Fri, 15 Jan 2010 22:19:08 +0000 (23:19 +0100)
One reason to send the ALRM signal is to let tinc immediately try to connect to
outgoing nodes, for example when PPP or DHCP configuration of the outgoing
interface finished.  Conversely, when the outgoing interface goes down one can
now send this signal to let tinc quickly detect that links are down too.

src/net.c

index 3f17083..9b60a31 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -418,8 +418,13 @@ int main_loop(void) {
                }
 
                if(sigalrm) {
+                       avl_node_t *node;
                        logger(LOG_INFO, "Flushing event queue");
                        expire_events();
+                       for(node = connection_tree->head; node; node = node->next) {
+                               connection_t *c = node->data;
+                               send_ping(c);
+                       }
                        sigalrm = false;
                }