X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet.c;h=92f6be861d0d31539022770fecc165485d87a705;hb=bd451cfe1512fa69eac35a60dbe6df17bfc39154;hp=bf6cfcf177d58a18572a4947e62a45e11f73c617;hpb=76c90e1639ee900fca4fc858260f0078ba32b9b1;p=tinc diff --git a/src/net.c b/src/net.c index bf6cfcf1..92f6be86 100644 --- a/src/net.c +++ b/src/net.c @@ -32,7 +32,6 @@ #include "names.h" #include "net.h" #include "netutl.h" -#include "process.h" #include "protocol.h" #include "subnet.h" #include "xalloc.h" @@ -130,6 +129,12 @@ void terminate_connection(connection_t *c, bool report) { if(outgoing) do_outgoing_connection(outgoing); + +#ifndef HAVE_MINGW + /* Clean up dead proxy processes */ + + while(waitpid(-1, NULL, WNOHANG) > 0); +#endif } /* @@ -199,7 +204,7 @@ static void periodic_handler(void *data) { nc++; } - if(nc < autoconnect) { + if(nc < 3) { /* Not enough active connections, try to add one. Choose a random node, if we don't have a connection to it, and we are not already trying to make one, create an @@ -233,7 +238,7 @@ static void periodic_handler(void *data) { } break; } - } else if(nc > autoconnect) { + } else if(nc > 3) { /* Too many active connections, try to remove one. Choose a random outgoing connection to a node that has at least one other connection. @@ -259,7 +264,7 @@ static void periodic_handler(void *data) { } } - if(nc >= autoconnect) { + if(nc >= 3) { /* If we have enough active connections, remove any pending outgoing connections. */