X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet.c;h=7ebbbd0f0ba21995228a938b97092bbe3d49551a;hp=41767d8f239ea4fe2b928d94b064de2f2f2839ae;hb=116ba3b3da73fb857cf75b5c92c6aacd70d94dd9;hpb=0e7136027ce05bfeca977f2f64f3b228ea4fda87 diff --git a/src/net.c b/src/net.c index 41767d8f..7ebbbd0f 100644 --- a/src/net.c +++ b/src/net.c @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: net.c,v 1.35.4.168 2002/03/27 14:02:36 guus Exp $ + $Id: net.c,v 1.35.4.172 2002/06/08 12:57:09 guus Exp $ */ #include "config.h" @@ -26,8 +26,10 @@ #include #include #include -#ifdef HAVE_LINUX +#ifdef HAVE_NETINET_IP_H #include +#endif +#ifdef HAVE_NETINET_TCP_H #include #endif #include @@ -68,6 +70,10 @@ #include "system.h" +#ifndef HAVE_RAND_PSEUDO_BYTES +#define RAND_pseudo_bytes RAND_bytes +#endif + int do_purge = 0; int sighup = 0; int sigalrm = 0; @@ -151,14 +157,15 @@ cp c = (connection_t *)node->data; if(c->status.remove) - connection_del(c); + { + connection_del(c); + if(!connection_tree->head) + purge(); + } else FD_SET(c->socket, fs); } - if(!connection_tree->head) - purge(); - for(i = 0; i < listen_sockets; i++) { FD_SET(listen_socket[i].tcp, fs); @@ -365,6 +372,8 @@ cp dump_connections(); return; } + + continue; } check_network_activity(&fset);