+2005-07-11 Reed Loden <reed@reedloden.com>
+
+ * include/sys.h: Move FD_SETSIZE redefinition to engine_select.c.
+
+ * ircd/s_bsd.c: Move FD_SETSIZE sanity check to engine_select.c
+ Remove unused #include <sys/poll.h>.
+
+ * ircd/engine_select.c: Put FD_SETSIZE redefinition and sanity
+ checks here, since they are not used elsewhere in the daemon.
+ [Order slightly changed by Michael Poole to compile.]
+
2005-07-03 Michael Poole <mdpoole@troilus.org>
* ircd/convert-conf.c: New file.
*/
#define MAXCLIENTS (MAXCONNECTIONS-24)
-/* Define FD_SETSIZE to what we want before including sys/types.h on BSD */
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__bsdi__)
-#if ((!defined(USE_POLL)) && (!defined(FD_SETSIZE)))
-#define FD_SETSIZE ((MAXCONNECTIONS)+4)
-#endif
-#endif
-
#define IRCD_MAX(a, b) ((a) > (b) ? (a) : (b))
#define IRCD_MIN(a, b) ((a) < (b) ? (a) : (b))
*/
#include "config.h"
-#include "ircd_events.h"
-
-#include "ircd.h"
-#include "ircd_log.h"
-#include "s_debug.h"
-
/* On BSD, define FD_SETSIZE to what we want before including sys/types.h */
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__bsdi__)
# if !defined(FD_SETSIZE)
-# define FD_SETSIZE MAXCONNECTIONS
+# define FD_SETSIZE ((MAXCONNECTIONS)+4)
# endif
#endif
+#include "ircd_events.h"
+
+#include "ircd.h"
+#include "ircd_log.h"
+#include "s_debug.h"
+
/* #include <assert.h> -- Now using assert in ircd_log.h */
#include <errno.h>
#include <string.h> /* needed for bzero() on OS X */
#include <time.h>
#include <unistd.h>
+#if FD_SETSIZE < (MAXCONNECTIONS + 4)
+/*
+ * Sanity check
+ *
+ * All operating systems work when MAXCONNECTIONS <= 252.
+ * Most operating systems work when MAXCONNECTIONS <= 1020 and FD_SETSIZE is
+ * updated correctly in the system headers (on BSD systems sys/types.h might
+ * have abruptly redefined it so the check is still done), you might
+ * already need to recompile your kernel.
+ * For larger FD_SETSIZE your mileage may vary (kernel patches may be needed).
+ * The check is _NOT_ done if we will not use FD_SETS at all (USE_POLL)
+ */
+# error FD_SETSIZE is too small or MAXCONNECTIONS too large.
+#endif
+
#define SELECT_ERROR_THRESHOLD 20 /**< after 20 select errors, restart */
#define ERROR_EXPIRE_TIME 3600 /**< expire errors after an hour */
#include <sys/utsname.h>
#include <unistd.h>
-#ifdef USE_POLL
-#include <sys/poll.h>
-#endif /* USE_POLL */
-
/** Array of my own clients, indexed by file descriptor. */
struct Client* LocalClientArray[MAXCONNECTIONS];
/** Maximum file descriptor in current use. */
static void client_sock_callback(struct Event* ev);
static void client_timer_callback(struct Event* ev);
-#if !defined(USE_POLL)
-#if FD_SETSIZE < (MAXCONNECTIONS + 4)
-/*
- * Sanity check
- *
- * All operating systems work when MAXCONNECTIONS <= 252.
- * Most operating systems work when MAXCONNECTIONS <= 1020 and FD_SETSIZE is
- * updated correctly in the system headers (on BSD systems our sys.h has
- * defined FD_SETSIZE to MAXCONNECTIONS+4 before including the system's headers
- * but sys/types.h might have abruptly redefined it so the check is still
- * done), you might already need to recompile your kernel.
- * For larger FD_SETSIZE your mileage may vary (kernel patches may be needed).
- * The check is _NOT_ done if we will not use FD_SETS at all (USE_POLL)
- */
-#error "FD_SETSIZE is too small or MAXCONNECTIONS too large."
-#endif
-#endif
-
/*
* Cannot use perror() within daemon. stderr is closed in