/*
net.c -- most of the network code
- Copyright (C) 1998-2002 Ivo Timmermans <itimmermans@bigfoot.com>,
- 2000-2002 Guus Sliepen <guus@sliepen.warande.net>
+ Copyright (C) 1998-2002 Ivo Timmermans <ivo@o2w.nl>,
+ 2000-2002 Guus Sliepen <guus@sliepen.eu.org>
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
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.169 2002/04/01 21:28:05 guus Exp $
+ $Id: net.c,v 1.35.4.174 2002/06/21 10:11:12 guus Exp $
*/
#include "config.h"
#include <fcntl.h>
#include <netdb.h>
#include <netinet/in.h>
-#ifdef HAVE_LINUX
+#ifdef HAVE_NETINET_IN_SYSTM_H
+ #include <netinet/in_systm.h>
+#endif
+#ifdef HAVE_NETINET_IP_H
#include <netinet/ip.h>
+#endif
+#ifdef HAVE_NETINET_TCP_H
#include <netinet/tcp.h>
#endif
#include <stdio.h>
#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;
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);